教你最快速从零搭建一个Zookeeper集群
一.下载地址:3.4.14
http://archive.apache.org/dist/zookeeper/zookeeper-3.4.14/
二.准备:3台带有jdk的虚拟机
因为zookeeper是用java写的,所以要运行zookeeper首先需要java运行环境,也就是jdk,且建议使用1.8及以上版本
虚拟机IP | 环境 | 防火墙 |
---|---|---|
192.168.44.20 | jdk1.8 | 关闭 |
192.168.44.21 | jdk1.8 | 关闭 |
192.168.44.22 | jdk1.8 | 关闭 |
三.将压缩包zookeeper-3.4.14.tar.gz复制到虚拟机的/opt/install
#运行解压命令
tar zxvf zookeeper-3.4.14.tar.gz
#创建数据文件夹
[root@node1 zookeeper-3.4.14]# mkdir /opt/install/zookeeper-3.4.14/data
#cd 到zookeeper-3.4.14/conf 目录下,将配置文件zoo_sample.cfg更名为zoo.cfg否则无法生效
[root@node1 conf]# mv zoo_sample.cfg zoo.cfg
vi zoo.cfg,这里我们只修改数据目录和添加集群配置,其他一律使用默认配置
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/opt/install/zookeeper-3.4.14/data/
clientPort=2181
server.1=192.168.44.20:2888:3888
server.2=192.168.44.21:2888:3888
server.3=192.168.44.22:2888:3888
在dataDir目录创建myid文件,也就是刚刚创建的zookeeper-3.4.14/data目录,创建myid文件
#内容只有一个数字,根据cfg文件中机器的编号决定是1、2、3,
vi /opt/install/zookeeper-3.4.14/data/myid
#例如server.1=192.168.44.20:2888:3888则192.168.44.20这台机器的myid是1
[root@node1 zookeeper-3.4.14]# cat ./data/myid
1
#192.168.44.21
[root@node1 zookeeper-3.4.14]# cat ./data/myid
2
#192.168.44.22
[root@node1 zookeeper-3.4.14]# cat ./data/myid
3
以上步骤在三台机器中重复3次,除了myid需要修改外,其他都相同
四.启动zookeeper,在zookeeper的bin目录下./zkServer.sh start
[root@node3 bin]# ./zkServer.sh start
ZooKeeper JMX enabled by default
Using config: /opt/install/zookeeper-3.4.14/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED
#看到这说明zookeeper正常启动了
五.查看启动状态
#192.168.44.20
[root@node1 bin]# ./zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /opt/install/zookeeper-3.4.14/bin/../conf/zoo.cfg
Mode: follower
#192.168.44.21
[root@node2 bin]# ./zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /opt/install/zookeeper-3.4.14/bin/../conf/zoo.cfg
Mode: leader
#192.168.44.22
[root@node3 bin]# ./zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /opt/install/zookeeper-3.4.14/bin/../conf/zoo.cfg
Mode: follower
#可以看到zookeeper集群启动成功了,并且192.168.44.21为leader,现在你可以使用zookeeper愉快的玩耍了
六.zookeeper常用命令(建议收藏备用)
#启动zookeeper
./zkServer.sh start
#查看zookeeper运行状态
./zkServer.sh status
#停止zookeeper服务
./zkServer.sh stop
#重启zookeeper服务
./zkServer.sh restart
zookeeper的连接与退出
#连接zookeeper服务
./zkCli.sh -server 127.0.0.1:2181
#退出zookeeper客户端
quit
zookeeper常用操作
输入 help ,查看zookeeper所有命令
查看指定路径下包含的节点(目录列表)
#查看根目录下包含的节点
ls /
#查看节点下的子节点和当前节点的状态 (ls2命令相当于 ls和stat命令的组合)
ls2 /
#或者使用ls -s /
#查看节点状态
stat /节点路径
创建节点:
#创建一个非顺序的持久化节点
#create [-s] [-e] path data ack
-s 顺序创建 -e 临时节点 path 创建的路径 data 存放的数据 ack 设置权限
create /test test-1
#创建一个临时节点
create -e /test/tmp tem-data
#创建一个顺序节点
create -s /test/aaa aaa-data
获取节点数据
#获取节点数据:
get path 例如
get /node1
#修改节点中数据:
set [-s] [-v version] path data
删除一个节点
#删除单个节点,如果当前节点存在子节点则不允许删除
delete /test
#删除当前节点及其子节点 :
rmr path 递归删除
#删除所有节点:
delete all path
[end].......
zookeeper小白,建议先从这篇文章看起
扫描关注下方我的公众号,持续为你带来更多精彩内容,55本专业技术书籍点击就送