1、下载安装包
2、安装
1、上传到服务器
tar -zxvf apache-zookeeper-3.8.0-bin.tar.gz
mv apache-zookeeper-3.8.0-bin zookeeper-3.8.0
2、配置zookeeper的环境变量
vim /etc/profile
export ZOOKEEPER_HOME=/home/hanlw/zookeeper-3.8.0
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH:$M2_HOME/bin:$GOROOT/bin:$ZOOKEEPER_HOME/bin:
source /etc/profile
3、修改配置文件
cp zoo_sample.cfg zoo.cfg
vim zoo.cfg
修改内容
在zookeeper的跟目录下创建两个文件夹data和datalog
这两个路径主要是用来存放zk的数据以及日志的(待会需要手动在配置文件中设置)
在data目录下创建一个myid的文件,里面的值可以给个任意的值,假设写的值是101
dataDir=/usr/local/src/zookeeper-3.8.0/data
dataLogDir=/usr/local/src/zookeeper-3.8.0/datalog
server.101=192.168.31.70:2888:3888
server.102=192.168.31.71:2888:3888
server.103=192.168.31.11:2888:3888
注意:
zoo.cfg中的 server.101
中的101必须与myid中的101
相对应
参数说明:
1、tickTime=2000
zookeeper中使用的基本时间单位, 毫秒值.
2、initLimit=10
zookeeper集群中的包含多台server, 其中一台为leader, 集群中其余的server为follower.
initLimit参数配置初始化连接时, follower和leader之间的最长心跳时间。
此时该参数设置为10, 说明时间限制为10倍tickTime, 即10*2000=20000ms=20s.
3、syncLimit=5
该参数配置leader和follower之间发送消息, 请求和应答的最大时间长度.
此时该参数设置为5, 说明时间限制为5倍tickTime, 即10000ms.
4、dataDir=/usr/local/soft/zookeeper3.5.5/data
数据目录. 可以是任意目录.
5、dataLogDir=/usr/local/soft/zookeeper3.5.5/datalog
log目录, 同样可以是任意目录. 如果没有设置该参数, 将使用和dataDir相同的设置.
6、clientPort=2181
监听client连接的端口号,通过ip:2181端口进入zookeeper的文件系统
7、server.101=192.1.101:2888:3888
2888是leader与跟随者通信的接口,当leader挂掉后跟随者通过3888通信选举出新leader
4、.集群拷贝
1.将修改好的文件复制到其他两个服务器,同时配置好环境变量。
2.将192.168.31.71的myid改成102
3.将192.168.31.11的myid改成103
5、启动服务
在每个节点启动zookeeper服务:
zkServer.sh start
查看每个节点zookeeper的角色:
zkServer.sh status
6.客户端连接
在任一个节点执行:zkCli.sh -server 192.168.31.70:2181
进行连接,其中92.168.31.70
是所在节点的ip。
安装成功会出现一下界面:
7、客户端工具ZooInspector
下载
https://issues.apache.org/jira/secure/attachment/12436620/ZooInspector.zip
运行
连接成功
参考: