1.安装JDK
2.下载zookeeper,官网地址:http://zookeeper.apache.org/,我现在的版本为最新的zookeeper-3.4.13.tar.gz,传送到centos7
3.解压后如图
tar -zxvg zookeeper-3.4.13.tar.gz
mv zookeeper-3.4.13 zookeeper-1
zookeeper-1,zookeeper-2,zookeeper-3 为集群使用
4.分别进入到zookeeper-1,zookeeper-2,zookeeper-3 conf目录下,拷贝zoo_sample.cfg,重命名为zoo.cfg
cp zoo_sample.cfg zoo.cfg
.
5.在每个data-1,data-2,date-3目录下创建myid文件 里面的值分别为对应的server.1, 2, 3 (重点)
说明:
#server.1 这个1是服务器的标识也可以是其他的数字, 表示这个是第几号服务器,用来标识服务器,这个标识要写到快照目录下面myid文件里 #IP为集群里的IP地址,第一个端口是master和slave之间的通信端口,默认是2888,第二个端口是leader选举的端口, 集群刚启动的时候选举或者leader挂掉之后进行新的选举的端口默认是3888
#tickTime: 这个时间是作为 Zookeeper 服务器之间或客户端与服务器之间维持心跳的时间间隔,也就是每个 tickTime 时间就会发送一个心跳。 #initLimit: 这个配置项是用来配置 Zookeeper 接受客户端(这里所说的客户端不是用户连接 Zookeeper 服务器的客户端,而是 Zookeeper 服务器集群中连接到 Leader 的 Follower 服务器)初始化连接时最长能忍受多少个心跳时间间隔数。当已经超过 5个心跳的时间(也就是 tickTime) 长度后 Zookeeper 服务器还没有收到客户端的返回信息,那么表明这个客户端连接失败。总的时间长度就是 5*2000=10 秒 #syncLimit: 这个配置项标识 Leader 与Follower 之间发送消息,请求和应答时间长度,最长不能超过多少个 tickTime 的时间长度,总的时间长度就是5*2000=10秒 #dataDir: 快照日志的存储路径 #dataLogDir: 事物日志的存储路径,如果不配置这个那么事物日志会默认存储到dataDir制定的目录,这样会严重影响zk的性能,当zk吞吐量较大的时候,产生的事物日志、快照日志太多 #clientPort: 这个端口就是客户端连接 Zookeeper 服务器的端口,Zookeeper 会监听这个端口,接受客户端的访问请求。修改他的端口改大点分别在三台主机的 dataDir 路径下创建一个文件名为 myid 的文件,文件内容为该 zk 节点的编号。例如,在第一台主机上建立的 myid 文件内容是 0,第二台是 1。
6.分别启动 zookeeper-1,zookeeper-2,zookeeper-3 bin目录下的 zkServer.sh
./zkServer.sh start
7.查看节点状态
./zkServer.sh status