Ansible入门篇(六):Kafka自动化安装

版权声明:有不正确的地方,还望各位指正指导,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 

猜你喜欢

转载自blog.csdn.net/a544258023/article/details/85163660