版权声明:有不正确的地方,还望各位指正指导,Thanks! https://blog.csdn.net/a544258023/article/details/85163660
Kafka是一种高吞吐量的分布式发布订阅消息系统,可作为中间件进行数据隔离、传输作用。
Kafka安装包下载
到 Kafka官网下载对应版本的安装包,本文以kafka 1.0.2为例。
将下载好的kafka_2.11-1.0.2.tgz上传到/opt/ansible/roles/files目录下,本文将所有tar安装包都进行了重命名操作,比如将kafka_2.11-1.0.2.tgz解压后重命名为kafka并打成kafka.tar.gz包。
编写主机hosts
编辑/opt/ansible/hosts文件添加部署Kafka机器IP
[kafka_servers]
172.18.18.120 broker_id=1
172.18.18.121 broker_id=2
172.18.18.122 broker_id=3
编写Kafka配置文件
将kafka_2.11-1.0.2.tgz解压后的配置文件server.properties和producer.properties修改成自己的配置并重命名为server.properties.js和producer.properties.j2,然后上传到/opt/ansible/roles/templates/ 目录下。由于配置文件较多,本文不进行展示。
编写参数配置main.yml
编辑/opt/ansible/roles/vars/main.yml文件,添加变量
BigdataDir: /opt/hzgc
AnsibleDir: /opt/ansible
编写执行文件kafka.yml
- hosts: kafka_servers remote_user: root roles: - roles tasks: - name: copy and unzip kafka unarchive: src={{AnsibleDir}}/roles/files/kafka.tar.gz dest={{BigdataDir}} - name: mkdir dir for kafka logs file: dest={{BigdataDir}}/kafka/logs mode=0755 state=directory - name: install configuration file for kafka template: src={{AnsibleDir}}/roles/templates/server.properties.j2 dest={{BigdataDir}}/kafka/config/server.properties - name: install configuration file producer.properties for kafka template: src={{AnsibleDir}}/roles/templates/producer.properties.j2 dest={{BigdataDir}}/kafka/config/producer.properties - name: chmod permission shell: chmod +x {{BigdataDir}}/kafka/bin/* - name: start kafka shell: sh {{BigdataDir}}/kafka/bin/kafka-server-start.sh -daemon {{BigdataDir}}/kafka/config/server.properties & tags: - start kafka |
执行Kafka安装部署 及启动
ansible-playbook -i hosts yml/kafka.yml
查看是否安装成功:jps