如何使用Ansible Playbook在远程目标上启动Zookeeper和Kafka broker
以下命令在本地运行良好。
开始管理员:cd /opt/kafka
./bin/zookeeper-server-start.sh config/zookeeper.properties
启动Kafka Broker:(在启动时设置2个env变量)JMX_PORT="5555" KAFKA_HEAP_OPTS="-Xms500M -Xmx550M" ./bin/kafka-server-start.sh config/server.properties
我建议创建一个systemd服务文件,您可以使用Ansibleservice
模块适当地启动/停止。
Confluent提供了cp-ansible
repo,你可以从中复制,或者直接使用它来安装Kafka + Zookeeper集群(以及更多)
您可以使用模块shell,命令
使用命令,我认为类似这样的东西应该可以工作:
- name: Start Zookeeper
command:
cmd: ./bin/zookeeper-server-start.sh config/zookeeper.properties
chdir: /opt/kafka
- name: Start Kafka broker
command:
cmd: 'JMX_PORT="5555" KAFKA_HEAP_OPTS="-Xms500M -Xmx550M" ./bin/kafka-server-start.sh config/server.properties'
chdir: /opt/kafka