原文: https://zjj1994.blog.csdn.net/article/details/118487632
1 . 准备 Zookeeper 安装包上传到 Linux 并解压
Zookeeper 安装包下载地址
链接: https://pan.baidu.com/s/1ZnmJrlFHjszjdVgd0RuQAA 提取码: h5ik 复制这段内容后打开百度网盘手机 App,操作更方便哦
我放到 “/root/soft/zookeeper-3.4.10/“ 位置了, 你们随意
解压安装包
配置 zookeeper 环境变量, 不会的话看: https://zjj1994.blog.csdn.net/article/details/118486083 帖子
这里不赘述了, 能搭集群的应该都会这些东西.
2. 修改配置文件
一号机器文件
一号机器 zoo.cfg 的配置文件
将 zoo_sample.cfg 文件复制并重命名为 zoo.cfg 文件
文件位置在 “/root/soft/zookeeper-3.4.10/conf/zoo.cfg”
tickTime=2000
initLimit=10
syncLimit=5
# 数据文件存放位置
dataDir=/root/soft/zookeeper-3.4.10/data
# log文件存放位置
dataLogDir=/root/soft/zookeeper-3.4.10/logs
clientPort=2181
# 一号机器
server.1=zjj101:2888:3888
# 二号机器
server.2=zjj102:2888:3888
# 三号机器
server.3=zjj103:2888:3888
自己自行创建 / root/soft/zookeeper-3.4.10/data 和 / root/soft/zookeeper-3.4.10/logs 这两个目录
配置说明:
①、tickTime:基本事件单元,这个时间是作为 Zookeeper 服务器之间或客户端与服务器之间维持心跳的时间间隔,每隔 tickTime 时间就会发送一个心跳;最小 的 session 过期时间为 2 倍 tickTime
②、dataDir:存储内存中数据库快照的位置,除非另有说明,否则指向数据库更新的事务日志。注意:应该谨慎的选择日志存放的位置,使用专用的日志存储设备能够大大提高系统的性能,如果将日志存储在比较繁忙的存储设备上,那么将会很大程度上影像系统性能。
③、client:监听客户端连接的端口。
④、initLimit:允许 follower 连接并同步到 Leader 的初始化连接时间,以 tickTime 为单位。当初始化连接时间超过该值,则表示连接失败。
⑤、syncLimit:表示 Leader 与 Follower 之间发送消息时,请求应答时间长度。如果 follower 在设置时间内不能与 leader 通信,那么此 follower 将会被丢弃。
⑥、server.A=B:C:D
A:其中 A 是一个数字,表示这个是服务器的编号;
B:是这个服务器的 ip 地址;
C:Zookeeper 服务器之间的通信端口;
D:Leader 选举的端口。
一号机器创建 myid 文件
路径是 “/root/soft/zookeeper-3.4.10/data/“
创建 myid 文件
myid 文件内容是
1
你没看错, 只有一个 1,
二号机器文件
二号机机器文件
将一号机器的 zoo.cfg 复制到二号机器上, zoo.cfg 内容和一号机的内容一模一样.
自己自行创建 / root/soft/zookeeper-3.4.10/data 和 / root/soft/zookeeper-3.4.10/logs 这两个目录
二号机创建 myid 文件
路径是 “/root/soft/zookeeper-3.4.10/data/“
创建 myid 文件
myid 文件内容是
2
三号机器文件
三号机机器文件
将一号机器的 zoo.cfg 复制到三号机器上, zoo.cfg 内容和一号机的内容一模一样.
自己自行创建 / root/soft/zookeeper-3.4.10/data 和 / root/soft/zookeeper-3.4.10/logs 这两个目录
三号机创建 myid 文件
路径是 “/root/soft/zookeeper-3.4.10/data/“
创建 myid 文件
myid 文件内容是
3
3. 启动 zookeeper 服务
三台机器同时执行这个命令 :
sh $ZOOKEEPER_HOME/bin/zkServer.sh start
[root@zjj101 etc]# sh $ZOOKEEPER_HOME/bin/zkServer.sh start
ZooKeeper JMX enabled by default
Using config: /root/soft/zookeeper-3.4.10/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED
控制台出现 Starting zookeeper … STARTED 字眼, 说明 Zookeeper 启动成功了.
查看 Zookeeper 的状态
[root@zjj101 ~]# sh $ZOOKEEPER_HOME/bin/zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /root/soft/zookeeper-3.4.10/bin/../conf/zoo.cfg
Mode: follower
[root@zjj102 ~]# sh $ZOOKEEPER_HOME/bin/zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /root/soft/zookeeper-3.4.10/bin/../conf/zoo.cfg
Mode: leader
[root@zjj103 ~]# sh $ZOOKEEPER_HOME/bin/zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /root/soft/zookeeper-3.4.10/bin/../conf/zoo.cfg
Mode: follower
可以看到, 有一台机器是 leader , 两台机器是 follower
附录 Zookeeper 的命令
启动 Zookeeper
sh $ZOOKEEPER_HOME/bin/zkServer.sh start
停止 Zookeeper
sh $ZOOKEEPER_HOME/bin/zkServer.sh stop
查看 Zookeeper 的状态
sh $ZOOKEEPER_HOME/bin/zkServer.sh status
重新启动 Zookeeper 服务
sh $ZOOKEEPER_HOME/bin/zkServer.sh restart