Kafka Hands-On Candidate Assignment
Kafka Hands-On Candidate Assignment
o Minimum of 3 brokers.
o The cluster should be configured for high availability and fault tolerance.
2. Deliverables:
o A step-by-step guide explaining how you set up the Kafka cluster, including all
necessary configurations (log retention, replication factor, partitioning, etc.).
o Provide scripts or automation you used for setting up the cluster (if any, such as
Ansible, Terraform, Docker, Kubernetes).
o Include screenshots showing the running Kafka brokers and Zookeeper instances.
o Implement consumers for both topics that read and log the messages.
Connect with database (PostgreSQL/Oracle) with the connectors and read data from different tables,
aggregate the data and provide it to consumers through topics.
2. Deliverables:
o Screenshots showing the successful creation of topics, producers sending data, and
consumers consuming data.
Task 3: Kafka Monitoring and Performance Tuning through the Control centre
1. Scenario: You need to monitor the Kafka cluster and optimize its performance. Assume your
Kafka cluster is under heavy load, and you notice latency issues with consumers. Implement
the following:
o Enable Kafka metrics for broker performance (e.g., disk I/O, network throughput).
o Set up an alert system for key performance metrics using tools like Prometheus,
Grafana, or JMX exporters.
2. Deliverables:
o A list of the key Kafka metrics you chose to monitor and why.
o Screenshots of the monitoring dashboard displaying Kafka broker health and key
metrics.
Steps:
o Investigate why the broker went down (logs, errors, etc.).
o Recover the broker and ensure the messages in the affected partition are consumed
correctly.
2. Deliverables:
o Evidence (logs, screenshots) showing that the partition is back online and messages
are being consumed.
Task 5: Kafka Security
1. Scenario: Secure your Kafka cluster by:
o Enabling SSL encryption for communication between brokers and between clients
(producers/consumers) and brokers.
2. Deliverables:
o Screenshots showing secure communication between clients and the Kafka cluster.
Submission Guidelines:
Ensure that all deliverables are organized in a single document or repository (preferably a
GitHub repo).
Document each step clearly, and provide explanations for any decisions or configurations
made.