Zookeeper集群搭建

时间:2024-03-15 20:25:26

目录

一、引言

二、简洁

三、集群安装

    1、下载&解压

    2、配置hosts域名文件

    3、修改zookeeper配置

    4.启动集群

    5.检测集群

    6.停止集群


一、引言

    适用人群:软件开发人员、架构师等。

    文章目的:通过实践,介绍如何部署Zookeeper集群。

二、简洁

    Zookeeper 是由Apache Handoop的子项目发展而来。是知名的互联网公司Yahoo创建的。Zookeeper为分布式应用提供了高效且可靠的分布式协调服务。

三、集群安装

    1、下载&解压

官网:Apache ZooKeeper

    此处以zookeeper-3.4.6版本为例,到官网下载zookeeper-3.4.6.tar.gz并解压到/opt/tpapp/文件夹中,tar -zxvf zookeeper-3.4.6.tar.gz

    2、配置hosts域名文件

    假设有A、B、C三台服务器,分别编辑三台服务器/etc/hosts文件,写入相同域名配置(IP  域名名称):

    10.100.40.10  name1

    10.100.40.20  name2

    10.100.40.30  name3

    3、修改zookeeper配置
  1. 进入A机器解压文件目录:cd  /opt/tpapp/zookeeper/zookeeper-3.4.6/conf
  2. 复制模板文件zoo_sample.cfg并重命名为zoo.cfg
  3. 修改zoo.cfg文件:
    修改zookeeper Client端口号(最好不要使用默认端口,可能会有冲突):
    clientPort=9527
    修改数据文件、日志夹路径(data、log文件夹自己创建):
    dataDir=/opt/tpapp/zookeeper/data
    dataLogDir=/opt/tpapp/zookeeper/log
    添加集群机器名称及通讯端口信息(server.myid值=机器对应域名:集群通讯端口:选举通讯端口):
    server.1=name1:2888:3888
    server.2=name2:2888:3888
    server.3=name3:2888:3888
    
  4. 在A机器的/opt/tpapp/zookeeper/data文件夹中创建myid文件并写入值 1 ,对应server.1中的1值。
  5. 完成A机器的配置后通过SCP命令将文件夹Zookeeper传输到B、C服务器,并修改/opt/tpapp/zookeeper/data文件夹下的myid文件内容,分别为 2 、3.
    传输命令:scp -r /opt/tpapp/zookeeper root@name1:/opt/tpapp/
                   scp -r /opt/tpapp/zookeeper root@name2:/opt/tpapp/
    4.启动集群

    分别在三台服务器执行命令: sh /opt/tpapp/zookeeper/bin/zkServer.sh start

    在机器启动过程中,日志可能出现连接错误属于正常情况,原因:zookeeper再根据配置启动时会连接leader服务器,进行集群通讯动作,连接的机器并未启动所以报错。

    5.检测集群

    在A服务器连接客户端查看集群启动情况,执行命令:sh /opt/tpapp/zookeeper/bin/zkCli.sh -server     name1:9527,name2:9527,name3:9527

    6.停止集群

    分别在三台服务器执行命令: sh /opt/tpapp/zookeeper/bin/zkServer.sh stop