1.上传JAR包到集群 /software 目录下 :zookeeper-3.4.10.tar.gz
注意:在官网下载3.5版本之后的zookeeper,需要下载带bin 的文件,不带bin的是微编译的,运行不了
2.解压安装
解压Zookeeper安装包到 /module/ 目录下:tar -zxvf zookeeper-3.4.10.tar.gz -C /module/
3.配置服务器编号:
(1).在/module/zookeeper-3.4.10/这个目录下创建zkData :mkdir zkData
(2).在/module/zookeeper-3.4.10/zkData目录下创建一个myid的文件:touch myid
(3).编辑myid文件 vi myid ,在文件中添加与server对应的编号:1
4.配置zoo.cfg文件:
(1)重命名/module/zookeeper-3.4.10/conf这个目录下的zoo_sample.cfg为zoo.cfg : mv zoo_sample.cfg zoo.cfg
(2)打开zoo.cfg文件, 修改数据存储路径配置: dataDir=/module/zookeeper-3.4.10/zkData
(3)增加如下配置:
#######################cluster##########################
server.1=node1:2888:3888
server.2=node2:2888:3888
server.3=node3:2888:3888
(4)配置参数解读
server.3=node3:2888:3888
server.A=B:C:D。
A是一个数字,表示这个是第几号服务器;
集群模式下配置一个文件myid,这个文件在dataDir目录下,这个文件里面有一个数据就是A的值,Zookeeper启动时读取此文件,拿到里面的数据与zoo.cfg里面的配置信息比较从而判断到底是哪个server。
B是这个服务器的ip地址;
C是这个服务器与集群中的Leader服务器交换信息的端口;
D是万一集群中的Leader服务器挂了,需要一个端口来重新进行选举,选出一个新的Leader,而这个端口就是用来执行选举时服务器相互通信的端口。
5.拷贝配置好的zookeeper到其他机器上 :xsync zookeeper-3.4.10,并分别在nod2、node3上修改myid文件中内容为2、3
6.启动zk 查看状态
进入到:/module/zookeeper-3.4.10目录下
启动:bin/zkServer.sh start
查看状态:bin/zkServer.sh status
7.vi /etc/profile 修改环境变量: 并xsync分发文件给其他节点
#ZK_HOME
export ZOOKEEPER_HOME=/module/zookeeper-3.4.10
export PATH=$PATH:$ZOOKEEPER_HOME/bin
刷新配置:source /etc/profile
7.记得拍摄VM快照,进行状态保存
8.客户端操作:
连接zk
bin/zkCli.sh
zk 是一个目录结构 ,每个节点可以存数据,同时可以有子节点
zk shell
create /test test
create /test/a 1
ls /test
delete 只能删除没有子节点的节点
rmr /test 删除节点