安装
1. 去官网下载安装包,这里下载最新安装包(zookeeper-3.4.10.tar.gz),解压
2. 进入conf目录下,将zoo_sample.cfg重命名为zoo.cfg,初始化:
initLimit=10 #默认值 syncLimit=5 #默认值 dataDir=/home/wangjie/zookeeper/data dataLogDir=/home/wangjie/zookeeper/dataLog server.1=192.168.17.128:2888:3888
解释:
- 192.168.17.128为当前机器的IP地址,也可以使用host文件中配置的域名。
- 2888端口号是zookeeper服务之间通信的端口。
- 3888端口是zookeeper与其他应用程序通信的端口。
- initLimit:配置zookeeper接收客户端(这里所说的客户端不是用户连接zookeeper服务器的客户端,而是指zookeeper服务器集群中连接到Leader的Follower服务器)初始化连接时最长能忍受多少个心跳时间间隔数。当已经超过10个心跳时间长度后zookeeper服务器还没有收到客户端的返回消息,那么表明这个客户端连接失败。总的时间长度就是5*2000=10秒。
- syncLimit:配置Leader与Follower之间发送消息,请求和应答时间长度最长不能超过多少个ticketTime的时间长度,总的时间长度就是2*2000=4秒。
- server.A=B:C: D 其中A是一个数字,表示这是第几号服务器。B是这台服务器的IP地址。C表示这台服务器与集群中的Leader服务器交换信息的端口。D表示的是万一集群中的Leader服务器挂了,需要一个端口来重新进行选举,选出一个新的Leader,这个端口就是用来执行选举时服务器相互通信的端口。如果是伪集群的配置方式,由于B都是一样,所以不同的zookeeper实例通信端口号不能一样,所以要给他们分配不同的端口号。
3. 进入/home/wangjie/zookeeper,创建myid文件
编辑myid文件,并在对应的IP的机器上输入对应的编号。如在zookeeper上,myid文件内容就是1.如果只在单点上进行安装配置,那么只有一个server.1
4. 添加环境变量
# zookeeper env export ZOOKEEPER_HOME=/home/wangjie/zookeeper-3.4.10 export PATH=$ZOOKEEPER_HOME/bin:$PATH
添加完成后,别忘记执行source .bashrc哦~
5. 打开防火墙中的端口2181、2888、3888
sudo ufw enable sudo ufw allow 2181 sudo ufw allow 2888 sudo ufw allow 3888 sudo ufw status
启动
1. 临时启动
• 进入bin目录,执行
./zkServer.sh start
• 查看启动状态
./zkServer.sh status
• 查看输出信息
tailf zookeeper.out
2. 开机自启动
在/home/wangjie/.profile中加入:(待优化rc.local)
/home/wangjie/zookeeper-3.4.10/bin/zkServer.sh start