1、安装jdk
2、下载zookeeper压缩包并上传到Linux
也可以网络下载
[root@localhost /]# wget http://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.4.13/zookeeper-3.4.13.tar.gz
3、解压包
[root@localhost local]# tar -zxvf /opt/module/apache-zookeeper-3.5.8.tar.gz -C /opt/module/
4、修改配置文件
1)将/opt/module/apache-zookeeper-3.5.8/conf/zoo_sample.cfg 修改为zoo.cfg;
mv /opt/module/apache-zookeeper-3.5.8/conf/zoo_sample.cfg /opt/module/apache-zookeeper-3.5.8/conf/zoo.cfg
2)vim编辑zoo.cfg文件,修改第12行dataDir路径
dataDir=/opt/module/apache-zookeeper-3.5.8-bin/zkData
dataDir=/opt/module/apache-zookeeper-3.5.8-bin/zkData
# the port at which the clients will connect
clientPort=2181
# the maximum number of client connectio
3)在/opt/module/apache-zookeeper-3.5.8/这个目录上创建zkData文件夹
mkdir dataDir=/opt/module/apache-zookeeper-3.5.8-bin/zkData
5、Zookeeper启动停止
#启动服务器,运行bin目录下的zkServer.sh
[root@localhost apache-zookeeper-3.5.8-bin]# bin /zkServer.sh start
#关闭服务器
[root@localhost apache-zookeeper-3.5.8-bin]# bin/zkServer.sh stop
# 启动客户端,运行斌目录下的zkCli.sh
[root@localhost apache-zookeeper-3.5.8-bin]# bin/zkCli.sh
#退出客户端
quit
zoo.cfg 配置参数
tickTime
客户端与服务器或者服务器与服务器之间维持心跳
initLimit
集群中的follower服务器(F)与leader服务器(L)之间初始连接时能容忍的最多心跳数(tickTime的数量)。
syncLimit
集群中flower服务器(F)跟leader(L)服务器之间的请求和答应最多能容忍的心跳数。
dataDir
该属性对应的目录是用来存放myid信息跟一些版本,日志,跟服务器唯一的ID信息等。
clientPort
客户端连接的接口,客户端连接zookeeper服务器的端口,zookeeper会监听这个端口,接收客户端的请求访问!这个端口默认是2181。
c.集群信息的配置
在zoo.cfg这个文件中,配置集群信息是存在一定的格式:service.N =YYY: A:B
N:代表服务器编号(也就是myid里面的值)
YYY:服务器地址
A:表示 Flower 跟 Leader的通信端口,简称服务端内部通信的端口(默认2888)
B:表示 是选举端口(默认是3888)
zookeeper使用
查看当前znode中所包含的内容 [zk: localhost:2181(CONNECTED) 0] ls /
显示所以操作命令 [zk: localhost:2181(CONNECTED) 0] help
查看当前节点数据详情
创建节点
[zk: localhost:2181(CONNECTED) 2] create /sanguo "zhaoyun"
[zk: localhost:2181(CONNECTED) 4] ls /
[sanguo, zookeeper]
获取节点的值
[zk: localhost:2181(CONNECTED) 6] get /sanguo
zhaoyun
创建短暂节点,与服务断开连接后值不保存
[zk: localhost:2181(CONNECTED) 7] create -e /sanguo/wuguo "zouyu"
Created /sanguo/wuguo
创建带有序号的节点
create -s /sanguo/weiguo "caocao"
Created /sanguo/weiguo0000000001
修改节点的值
[zk: localhost:2181(CONNECTED) 12] set /sanguo "zhangsan"
[zk: localhost:2181(CONNECTED) 14] get /sanguo
zhangsan
节点的值变化监听
get /sanguo watch
删除节点
delete /sanguo/caocao
递归删除节点
rmr /sanguo
查看节点状态
stat sanguo