模拟分布式环境!!! 搞了好几天,各种错误!!终于成功了.
环境: windows7 /centos/xsheel 安装了三个虚拟机...
1.下载zookeeper
http://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.4.14/zookeeper-3.4.14.tar.gz
2.解压安装
tar -zxf zookeeper-3.4.12 root/myzookeeper
3.配制myid 和集群地址
3.1在conf目录下新建zoo.cfg文件,写入以下内容保存:
dataDir=/root/jinjian/zookeeper/data
server.1=192.168.149.133:2181:3181
server.2=192.168.149.134:2181:3181
server.3=192.168.149.135:2181:3181
3.2在data 文件目录下创建文件myid 里面写入 对应相应(server)的数字,比如上面的1,2,3(只需要写一个)
3.3 观察者配置写法(非必须)
peerType=observer
server.1=192.168.11.129:2181:3181:observer
3.4 各个端口的意思
clientPort 提供连接的客户端端口,类似于mysql默认端口3306,用于客户端的连接,这样客户端就可以通过网络协议对服务端进行操作;
server.3=192.168.149.135:2181:3181端口说明:
2181:zookeeper运行端口,可以不一致
3181:每个zookeeper服务之间通信的接口,必须一致!
4.关闭防火墙
systemctl stop/start firewalld.service 关闭/开启防火墙
systemctl disable firewalld.service 禁止开启防火墙
systemctl status firewalld 查看防火墙状态
5.每个zookeeper 的conf 下的zoo.cfg配制文件要一致
6.配置文件中的参数意义
tickTime=2000 syncLimit=5
initLimit : 此配置表示允许follower连接并同步到leader的初始化时间,它以tickTime的倍数来表示。当超过设置倍数的tickTime时间,则连接失败。
syncLimit : Leader服务器与follower服务器之间信息同步允许的最大时间间隔,如果超过次间隔,默认follower服务器与leader服务器之间断开链接。
maxClientCnxns : 限制连接到zookeeper服务器客户端的数量
参考博客: https://www.cnblogs.com/xiohao/p/5541093.html 如果出现流读取异常 或者网络不行的情况,需要增加
tickTime和syncLimit 的大小
7.补充:关于集群下配置zookeeper节点数
配置节点数目至少三台,但是可以只启动两台
会出现 you need at least 3 servers.启动失败.
参考博客;https://www.cnblogs.com/jxwch/p/6433310.html