资源准备
- 准备三台 Linux 服务器:
- 192.168.9.1
- 192.168.9.2
- 192.168.9.3
- 安装配置 JDK1.7+(详细操作)
- 下载 zookeeper-3.4.6
- zookeeper 集群的节点数必须是奇数,这是由于 Paxos 算法特性决定的
服务器初始化
- 创建 zookeeper 用户并指定 gid 为:zookeeper
- 免密登陆配置(详细操作):
Zookeeper集群配置
- 分别在三台服务器创建data及log目录:
zookeeper@XXXX$ mkdir -p /home/zookeeper/{data, logs}
- 分别在三台服务器创建 myid 文件:
zookeeper@192.168.9.1$ echo 1 > /home/zookeeper/data/myid
zookeeper@192.168.9.2$ echo 2 > /home/zookeeper/data/myid
zookeeper@192.168.9.3$ echo 3 > /home/zookeeper/data/myid
- 小建议:myid 中的内容最好为当前服务器 ip 地址段的值
- 将 zookeeper-3.4.6.tar.gz 上传至 192.168.9.1 服务器中,解压后配置 zoo.cfg:
zookeeper@192.168.9.1$ vim /home/zookeeper/conf/zoo.cfg
syncLimit=5
dataDir=/home/zookeeper/data
dataLogDir=/home/zookeeper/logs
clientPort=2181
server.1=192.168.9.1:2182:3182
server.2=192.168.9.2:2182:3182
server.3=192.168.9.3:2182:3182
- server.1/2/3 与之前配置的 myid 是相互对应的
- 将 192.168.9.1 中配置好的 zookeeper-3.4.6 分发到另外 2 台主机中:
zookeeper@192.168.9.1$ scp -r zookeeper-3.4.6 zookeeper@192.168.9.2:/home/zookeeper
zookeeper@192.168.9.1$ scp -r zookeeper-3.4.6 zookeeper@192.168.9.3:/home/zookeeper
- 分别在 3 台主机启动zookeeper,并验证状态:
分别在 /home/zookeeper/bin 目录下执行
zookeeper@XXXX$ ./zkServer.sh start
zookeeper@XXXX$ ./zkServer.sh status # 检查节点状态信息