1、下载
官网链接:http://mirrors.hust.edu.cn/apache/zookeeper/zookeeper-3.5.2-alpha/zookeeper-3.5.2-alpha.tar.gz
2、解压
tar zxvf zookeeper-3.5.2-alpha.tar.gz /usr/local/zookeeper
3、编辑配置文件zoo.cfg
cd /usr/local/zookeeper/conf
cp zoo_sample.cfg zoo.cfg
gedit zoo.cfg
1 dataDir=/usr/local/zookeeper/data #本来有指向的,所以就修改地址 2 dataLogDir=/usr/local/zookeeper/logs 3 server.134=master:2888:3888 4 server.135=slave1:2888:3888 5 server.136=slave2:2888:3888 6 server.137=slave3:2888:3888
然后在上面dataDir和dataLogDir指向的地址创建相应的文件夹来存放数据与文件
- initLimit: zookeeper集群中的包含多台server, 其中一台为leader, 集群中其余的server为follower. initLimit参数配置初始化连接时, follower和leader之间的最长心跳时间. 此时该参数设置为5, 说明时间限制为5倍tickTime, 即5*2000=10000ms=10s.
- syncLimit: 该参数配置leader和follower之间发送消息, 请求和应答的最大时间长度. 此时该参数设置为2, 说明时间限制为2倍tickTime, 即4000ms.
- server.X=A:B:C 其中X是一个数字, 表示这是第几号server. A是该server所在的IP地址. B配置该server和集群中的leader交换消息所使用的端口. C配置选举leader时所使用的端口. 由于配置的是伪集群模式, 所以各个server的B, C参数必须不同.
- tickTime: zookeeper中使用的基本时间单位, 毫秒值.
- dataDir: 数据目录. 可以是任意目录.
- dataLogDir: log目录, 同样可以是任意目录. 如果没有设置该参数, 将使用和dataDir相同的设置.
- clientPort: 监听client连接的端口号.
4、创建myid文件
dataDir中新建myid文件, 写入一个数字, 该数字表示这是第几号server. 该数字必须和zoo.cfg文件中的server.X中的X一一对应
例:master的是134,如图
6、拷贝配置好的zookeeper文件到slave1,slave2,slave3节点对应的文件夹下,要一样的目录。在zookeeper集群里面,myid是唯一的,所以要修改各个节点的myid。然后修改data下面的myid,修改成对应的id,slave1为135,slave2为136,slave3为137。
7、启动zookeeper,zookeeper需要各个服务器单独启动
分别在master,slave1,slave2,slave3启动
cd /usr/local/zookeeper
bin/zkServer.sh start
8、通过jps查看是否启动成功
各个节点查看是否有进程
QuorumPeerMain
9、任意选择一台服务器,连接客服端,查看能否正常进入zookeeper的shell界面,我这里就选择master
cd /usr/local/zookeeper
bin/zkCli.sh -server master:2181