1.结构,一共三个节点
zk服务器集群规模不小于3个节点,一般为奇数个节点。
2、上传zk到服务器,并对zk进行解压
tar -zxvf zookeeper-3.4.5.tar.gz
mv zookeeper-3.4.5 zookeeper
3、修改环境变量
vi /etc/profile
#set zk
ZOOKEEPER_HOME=/usr/local/zookeeper
export PATH=$PATH:$ZOOKEEPER_HOME/bin
#使得配置文件生效
source /etc/profile
4、修改zk的配置文件
4.1 到zookeeper下修改配置文件
cd /usr/local/zookeeper/conf
mv zoo_sample.cfg zoo.cfg
4.2 修改zoo.cfg
vi zoo.cfg
#第一处修改
dataDir=/usr/local/zookeeper/data
#第二处修改
#最后面添加
server.0=192.168.2.116:2888:3888
server.1=192.168.2.103:2888:3888
server.2=192.168.2.105:2888:3888
4.3 分别在每台zk服务器下,进行服务器标识配置 (三台zk服务器分别进行操作)
# 注意上面 zoo.cfg 的 dataDir=/usr/local/zookerper/data的配置
cd /usr/local/zookeeper/data
#创建文件夹
mkdir data
#创建文件myid并填写内容为0:
vim myid (内容为服务器标识 : 0)
#三台zk服务器分别进行操作
5、zk集群的启动
#三台zk机器,分别进行操作
/usr/local/zookeeper/bin
zkServer.sh start
#zk状态的显示 (在三个节点上检验zk的mode,一个leader和俩个follower)
zkServer.sh status
6、关于zk的zoo.cfg配置文件的介绍
tickTime: 基本事件单元,以毫秒为单位。这个时间是作为 Zookeeper服务器之间或客户端与服务器之间维持心跳的时间间隔,也就是每隔 tickTime时间就会发 送一个心跳。
dataDir: 存储内存中数据库快照的位置,顾名思义就是 Zookeeper保存数据的目录,默认情况下,Zookeeper将写数据的日志文件也保存在这个目录里。
clientPort: 这个端口就是客户端连接 Zookeeper 服务器的端口,Zookeeper会监听这个端口,接受客户端的访问请求。
initLimit: 这个配置项是用来配置 Zookeeper接受客户端初始化连接时最长能忍受多少个心跳时间间隔数,当已经超过 10 个心跳的时间(也就是 tickTime)长 度后Zookeeper 服务器还没有收到客户端的返回信息,那么表明这个客户端连接失败。总的时间长度就是10*2000=20 秒。
7、zk的基本操作
zkCli.sh 进入zookeeper客户端
zkCli.sh -server 192.168.2.103:2181
根据提示命令进行操作:
查找:ls / ls /zookeeper
创建并赋值:create /bhz hadoop
获取:get /bhz
设值:set /bhz baihezhuo
8、软件下载