ZooKeeper是一个分布式应用程序协调服务,是Hadoop、Kafka及Hbase等的重要组件。

 

Zookeeper安装包下载

Zookeeper官网下载对应版本的安装包,本文以zookeeper 3.4.5为例。

将下载好的zookeeper-3.4.5.tar.gz上传到/opt/ansible/roles/files目录下,本文将所有tar安装包都进行了重命名操作,比如将zookeeper-3.4.5.tar.gz解压后重命名为zookeeper并打成zookeeper.tar.gz包

 

编写主机hosts

编辑/opt/ansible/hosts文件添加部署Zookeeper机器IP

[zookeeper_servers]
172.18.18.120   myid=1
172.18.18.121   myid=2
172.18.18.122   myid=3

 

编写Zookeeper配置文件

将zookeeper-3.4.5.tar.gz解压后里面的 conf/zoo_sameple.cfg文件上传到/opt/ansible/roles/templates/目录下并重命名为zoo.cfg.j2,编辑内容如下:

tickTime=2000
initLimit=20
syncLimit=10
dataDir={{BigdataDir}}/zookeeper/data
dataLogDir={{BigdataDir}}/zookeeper/dataLogDir
clientPort=2181
quorumListenOnAllIPs=true
server.1={{server1_hostname}}:2888:3888
server.2={{server1_hostname}}:2888:3888
server.3={{server1_hostname}}:2888:3888

 

编写参数配置main.yml

编辑/opt/ansible/roles/vars/main.yml文件,添加变量 

server1_hostname: 172.18.18.130
server2_hostname: 172.18.18.131
server3_hostname: 172.18.18.132
BigdataDir: /opt/hzgc 

 

编写执行文件zookeeper.yml 

- hosts: zookeeper_servers
  remote_user: root
  roles:
  - roles

  tasks:
    - name: mkdir directory for bigdata data
      file: dest={{BigdataDir}} mode=0755 state=directory
    - name: install zookeeper
      unarchive: src={{AnsibleDir}}/roles/files/zookeeper.tar.gz dest={{BigdataDir}}
    - name: install configuration file for zookeeper
      template: src={{AnsibleDir}}/roles/templates/zoo.cfg.j2 dest={{BigdataDir}}/zookeeper/conf/zoo.cfg
    - name: create log directory
      file: dest={{BigdataDir}}/zookeeper/dataLogDir mode=0755 state=directory
    - name: add myid file
      shell: echo {{ myid }} > {{BigdataDir}}/zookeeper/data/myid
    - name: start zookeeper
      shell:  sh {{BigdataDir}}/zookeeper/bin/zkServer.sh start
      tags:
      - start zookeeper

 

执行Zookeeper安装部署 及启动

ansible-playbook -i hosts  yml/zookeeper.yml  

查看是否安装成功:jps 

 

文章目录:

 

  

Logo

Kafka开源项目指南提供详尽教程,助开发者掌握其架构、配置和使用,实现高效数据流管理和实时处理。它高性能、可扩展,适合日志收集和实时数据处理,通过持久化保障数据安全,是企业大数据生态系统的核心。

更多推荐