Browse by type
It is a group of playbooks to manage apache kafka.
1. why manual download of tar file because environments can be complex and there won't be any internet connection in production.
2. It assumes you have zookeeper already running in localmode or cluster mode.
3. All tasks like broker/jvm/logging/downgrade/removeOldVersion will be done in serial order.
4. It doesn't support upgrading old kafka clusters from 0.9.0 to 2.x versions.
5. Vagrant 6.x is not stable yet and older versions doesn't have support ubuntu 20 so it might not work.
6. Please use tags for production deployment, Master will be used as development branch.
It will update /etc/hosts with required dns names.
ansible-playbook -i inventory/development/cluster.ini clusterVagrantDnsUpdater.yml
terraform/awsterraform/ociIt will enable following things on all nodes.
/kafka mount point from ebs created by terraform.awslogs agent for kafka-logs.Install python3 packages
Update Required vars in inventory/<environment>/group_vars/all.yml .
inventory/<environment>/cluster.ini .ansible-playbook -i inventory/<environment>/cluster.ini clusterAwsPreSetup.yml
inventory/<environment>/group_vars/all.yml .inventory/<environment>/cluster.ini .ansible-playbook -i inventory/<environment>/cluster.ini clusterSetup.yml
roles/jmxMonitor/files/kafka-input.txt
roles/jmxMonitor/files/kafka-mirror-input.txt
ansible-playbook -i inventory/<environment>/cluster.ini clusterJmxMonitoringSetup.yml
It will monitor consumer groups mentioned in below file.
roles/jmxMonitor/files/kafka-consumer-group-metric-input.txt
ansible-playbook -i inventory/<environment>/cluster.ini clusterConsumerMetricSetup.yml
files/splunk-dashboards
ansible-playbook -i inventory/<environment>/cluster.ini clusterNewRelicSetup.yml
files/newrelic-dashboards
inventory/<environment>/group_vars/all.yml .inventory/<environment>/cluster.ini .ansible-playbook -i inventory/<environment>/cluster.ini clusterAddNodes.yml
inventory/<environment>/group_vars/all.yml .inventory/<environment>/cluster.ini .ansible-playbook -i inventory/<environment>/cluster.ini clusterUpgrade.yml
ansible-playbook -i inventory/<environment>/cluster.ini clusterRollingRestart.yml
inventory/<environment>/group_vars/all.yml .ansible-playbook -i inventory/<environment>/cluster.ini clusterBrokerProperties.yml
inventory/<environment>/group_vars/all.yml .ansible-playbook -i inventory/<environment>/cluster.ini clusterJvmConfigs.yml
inventory/<environment>/group_vars/all.yml .ansible-playbook -i inventory/<environment>/cluster.ini clusterLogging.yml
It contains cron for log file clean up for kafka cluster and kafka mirror maker cluster.
ansible-playbook -i inventory/<environment>/cluster.ini clusterCrons.yml
inventory/<environment>/group_vars/all.yml .ansible-playbook -i inventory/<environment>/cluster.ini clusterJava.yml
inventory/<environment>/group_vars/all.yml .ansible-playbook -i inventory/<environment>/cluster.ini clusterRemoveOldVersion.yml
inventory/<environment>/group_vars/all.yml .ansible-playbook -i inventory/<environment>/cluster.ini clusterRemoveNodes.yml
It will be installed in similar way to apache kafka but it will start apache kafka mirror maker processes only.
Note:*
* Apache Kafka & Apache Kafka Mirror Maker should not be installed on same node.
* It is recommended to install multiple kafka mirror maker process on same node and contolled by this parameter kafkaMirrorMakerProcessCountPerNode
inventory/<environment>/group_vars/all.yml .inventory/<environment>/group_vars/kafka-mirror-maker.yml .ansible-playbook -i inventory/<environment>/cluster.ini clusterKafkaMirrorMaker.yml
inventory/<environment>/group_vars/all.yml .inventory/<environment>/group_vars/kafka-mirror-maker.yml .ansible-playbook -i inventory/<environment>/cluster.ini clusterKafkaMirrorMakerUpgrade.yml
inventory/<environment>/group_vars/all.yml .inventory/<environment>/group_vars/kafka-mirror-maker.yml .ansible-playbook -i inventory/<environment>/cluster.ini clusterKafkaMirrorMakerRemoveNodes.yml
ansible-playbook -i inventory/<environment>/cluster.ini clusterKafkaMirrorMakerRollingRestart.yml
Ref: https://github.com/yahoo/kafka-manager/releases
inventory/<environment>/group_vars/kafka-manager.ymlansible-playbook -i inventory/<environment>/cluster.ini clusterKafkaManager.yml
ansible: 6.1.0
ansible-base: 2.13.2
$ claude mcp add kafka-cluster-ansible \
-- python -m otcore.mcp_server <graph>