前言
近期项目中有用到Zookeeper 集群,小编自己亲自实验了一把,下面来记录下过程。
正文
环境、组件说明
Linux 版本:CentOS Linux release 7.5.1804 (Core)
Zookeeper 版本:zookeeper-3.4.13
点此下载zookeeper
JDK 版本:1.8.0
三台机器:server1 - 2(ip最后一位为2,前面地址省略), server2 - 4, server3-5
安装步骤
1、本地下载zookeeper ,上传到服务器
scp zookeeper-3.4.13.tar.gz root@ip:/usr/lib
2、解压tar文件
tar -zxf zookeeper-3.4.13
3、创建data 、logs文件夹
cd zookeeper-3.4.13
# 存储数据文件
mkdir data
# 存储日志
mkdir logs
4、创建zoo.cfg配置文件
vi /usr/lib/zookeeper-3.4.13/conf/zoo.cfg
- 修改配置文件中dataDir 及dataLogDir两项,分别为数据文件和日志文件路径;
- 添加server 1-3 分别为2,4,5的IP;
- server.id = host:port1:port2
server.id 其中一个id 为一个数字,表示zk进程的id,这个id 也是data目录下myid文件的内容;
host 为该zk进程所在的IP地址
port1 为follower 和leader 交换信息所使用的端口
port2 为选举leader 所使用的端口
5、创建myid文件
在data中会有一个myid文件,里面就一个数字,用来唯一标识这个服务,这个id要保证整个集群中唯一;
zookeeper会根据这个id 来取出server.x上的配置。
echo "1" > /usr/lib/zookeeper-3.4.13/data/myid
6、其他两台机器做同样的配置
- 编辑zoo.cfg内容同服务器1配置
- data目录下新建myid文件,内容分别为2,3
测试及结果
1、启动zookeeper 集群
分别启动三台服务器上的zookeeper Server
# 连接到IP为2的机器,4,5做同样操作
cd /usr/lib/zookeeper-3.4.13/bin
./zkServer.sh start
2、查看zkServer 状态
./zkServer.sh status
3、zkCli 连接 服务端
# 连接集群地址
./zkCli.sh -server xx.4:2181,xx.5:2181,xx.2:2181
# 为了确保每台机器均处于正常状态,可以分别连接每台服务器地址
./zkCli.sh -server xx.4:2181
./zkCli.sh -server xx.5:2181
./zkCli.sh -server xx.2:2181
参考链接
https://segmentfault.com/a/1190000010807875
总结
以上是zookeeper 集群搭建的过程,自己实践了一遍,感觉不一样,记录下来希望能为大家提供帮助!后续博客将继续介绍在搭建集群中遇到的问题及解决情况,敬请期待!