一、引言
适用人群:软件开发人员、架构师等。
文章目的:通过实践,介绍如何部署Zookeeper集群。
二、简洁
Zookeeper 是由Apache Handoop的子项目发展而来。是知名的互联网公司Yahoo创建的。Zookeeper为分布式应用提供了高效且可靠的分布式协调服务。
三、集群安装
官网:Apache ZooKeeper
1、下载&解压
此处以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配置
进入A机器解压文件目录:cd /opt/tpapp/zookeeper/zookeeper-3.4.6/conf
复制模板文件zoo_sample.cfg并重命名为zoo.cfg
修改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
在A机器的/opt/tpapp/zookeeper/data文件夹中创建myid文件并写入值 1 ,对应server.1中的1值。
完成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