安装 3 台机器来作为 zookeeper 集群, 3 台机器的 ip 分别是 192.168.174.7,192.168.174.8,192.168.174.9.zookeeper 由 java 编写, 所以在安装 zookeeper 前先安装 jdk 环境.
3 台机器上分别创建 zookeeper 的安装目录
mkdir -p /usr/local/software/zookeeper
官网下载 tar 包, 3 台机器上分别分别解压
tar -xvf zookeeper-3.4.11.tar.gz -C /usr/local/software/zookeeper/
3 台机器分别进入安装目录下, 将 zoo.sample.cfg 重命名为 zoo.cfg, 然后修改 dataDir 配置, 修改为 dataDir=/opt/data/zookeeper/data
开始集群配置, 修改 3 台机器下的 zoo.cfg 文件, 添加如下内容:
- server.1=192.168.174.7:2888:3888
- server.2=192.168.174.8:2888:3888
- server.3=192.168.174.9:2888:3888
有 n 台服务器就到 server.n. 后面分别配置 ip 地址和端口. 2888 端口是该服务器与集群中的 leader 交换信息的端口, 3888 是选举时服务器相互通信的端口.
分别在 3 台机器的 ${dataDir} 路径下即上面第三步指定的 dataDir 目录下创建 myid 文件, myid 文件里只写入对应服务器的编号即上面第四步的 n. 在本配置中 ip 为 174.7 的服务器在该文件下写入 1, 其他的服务器对应写入 n 值 (2,3...)
- mkdir -p /opt/data/zookeeper/data
- vim /opt/data/zookeeper/data/myid
为了以后执行 zookeeper 命令方便, 配置一下 zookeeper 的环境变量. vim /etc/profile
在文件中添加如下内容:
- export ZOOKEEPER_HOME=/usr/local/software/zookeeper/zookeeper-3.4.11
- export PATH=$PATH:$ZOOKEEPER_HOME/bin
分别启动三台 zookeeper 并查看各台机器的角色, 是 leader 或是 follower
开启 zookeeper 服务 zkServer.sh start
查看 zookeeper 状态
zkServer.sh status
当仅开启第一台时, 查看状态显示未运行, 当至少开启两台时, 集群模式才会正常, 才会选举 leader 和 follower, 如果启动报错, 查看 ${dataDir} 下的 zookeeper.out 日志文件.
来源: http://www.bubuko.com/infodetail-2666509.html