集群内的服务器都需要安装JDK7+、配置服务器SSH免密登录
去官网下载需要的zookeeper包
选定目录解压
配置文件修改 zookeeper/conf zoo.cfg 这个文件原本是没有 需要用sample重命名下或者复制一个新的
cp 复制或者 mv 重命名
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/opt/soft/zooData
dataLogDir=/opt/soft/zooDataLog
clientPort=2181
server.1=192.168.1.117:2888:3888
server.2=192.168.1.110:2888:3888
server.3=192.168.1.118:2888:3888
dataDir和dataLogDir指向的目录 如果没有就需要创建
把zookeeper发送到集群内的服务器上可以用命令行 也可以用ssh工具上传
创建myid文件 117这个服务器因为server.后面是1 所以myid文件内容就是1,110就是2,118就是3
myid文件存放位置是zoo.cfg文件中dataDir所指向的路径
三台服务器分别设置好myid文件
启动zookeeper集群
到bin目录下 执行 ./zkServer.sh start 启动 (需要集群内所有服务器都需要启动)
查看集群运行状态
./zkServer.sh status 可能是leader也可能是follower 因为zookeeper会随机选择一台服务器作为leader
在启动过程中 遇到了Error contracting service.It is probably not running 好多博文提供的解决办法是将防火墙关闭,但是我的服务器防火墙早已经都关闭了,后来通过查看启动日志 bin/zookeeper.out 找到失败原因的