Zookeeper 实战
作者:互联网
分布式
集群规划
在 hadoop102、hadoop103 和 hadoop104 三个节点上部署 Zookeeper。
解压安装
解压 Zookeeper 安装包到/opt/module/目录下
tar -zxvf zookeeper-
3.4.10.tar.gz -C /opt/module/
同步/opt/module/zookeeper-3.4.10 目录内容到 hadoop103、hadoop104
xsync zookeeper-3.4.10/
配置服务器编号
在/opt/module/zookeeper-3.4.10/这个目录下创建 zkData
mkdir -p zkData
在/opt/module/zookeeper-3.4.10/zkData 目录下创建一个 myid 的文件
touch myid
编辑 myid 文件
vi myid
在文件中添加与 server 对应的编号:
2
拷贝配置好的 zookeeper 到其他机器上
xsync myid
并分别在 hadoop103、hadoop104 上修改 myid 文件中内容为 3、4
配置 zoo.cfg 文件
重命名/opt/module/zookeeper-3.4.10/conf 这个目录下的 zoo_sample.cfg 为 zoo.cfg
mv zoo_sample.cfg zoo.cfg
打开 zoo.cfg 文件
vim zoo.cfg
修改数据存储路径配置
dataDir=/opt/module/zookeeper-3.4.10/zkData
增加如下配置
#######################cluster##########################
server.2=hadoop102:2888:3888
server.3=hadoop103:2888:3888
server.4=hadoop104:2888:3888
同步 zoo.cfg 配置文件
xsync zoo.cfg
配置参数解读 server.A=B:C:D
- A 是一个数字,表示这个是第几号服务器;
集群模式下配置一个文件 myid,这个文件在 dataDir 目录下,这个文件里面有一个数据就是 A 的值,Zookeeper 启动时读取此文件,拿到里面的数据与 zoo.cfg 里面的配置信息比较从而判断到底是哪个 server。 - B 是这个服务器的地址;
- C是这个服务器 Follower 与集群中的 Leader 服务器交换信息的端口;
- D 是万一集群中的 Leader 服务器挂了,需要一个端口来重新进行选举,选出一个新的Leader,而这个端口就是用来执行选举时服务器相互通信的端口。
集群操作
分别启动 Zookeeper
bin/zkServer.sh start
客户端命令行操作
启动客户端
bin/zkCli.sh
显示所有操作命令
help
查看当前 znode 中所包含的内容
ls /
查看当前节点详细数据
ls2 /
结果:
[zookeeper]
cZxid = 0x0
ctime = Thu Jan 01 08:00:00 CST 1970
mZxid = 0x0
mtime = Thu Jan 01 08:00:00 CST 1970
pZxid = 0x0
cversion = -1
dataVersion = 0
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 0
numChildren = 1
分别创建 2 个普通节点
create /sanguo "jinlian"
create /sanguo/shuguo "liubei"
Created /sanguo/shuguo
获得节点的值
get /sanguo
# 结果
jinlian
cZxid = 0x100000003
ctime = Wed Aug 29 00:03:23 CST 2018
mZxid = 0x100000003
mtime = Wed Aug 29 00:03:23 CST 2018
pZxid = 0x100000004
cversion = 1
dataVersion = 0
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 7
numChildren = 1
[zk: localhost:2181(CONNECTED) 6]
[zk: localhost:2181(CONNECTED) 6] get /sanguo/shuguo
liubei
cZxid = 0x100000004
ctime = Wed Aug 29 00:04:35 CST 2018
mZxid = 0x100000004
mtime = Wed Aug 29 00:04:35 CST 2018
pZxid = 0x100000004
cversion = 0
dataVersion = 0
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 6
numChildren = 0
创建短暂节点
create -e /sanguo/wuguo "zhouyu"
在当前客户端是能查看到的
ls /sanguo
退出当前客户端然后再重启客户端
quit
再次查看根目录下短暂节点已经删除
ls /sanguo
创建带序号的节点
先创建一个普通的根节点/sanguo/weiguo
create /sanguo/weiguo "caocao"
创建带序号的节点
create -s /sanguo/weiguo/xiaoqiao "jinlian"
如果原来没有序号节点,序号从 0 开始依次递增。如果原节点下已有 2 个节点,则再排序时从 2 开始,以此类推。
修改节点数据值
set /sanguo/weiguo "simayi"
删除节点
delete /sanguo/jin
递归删除节点
rmr /sanguo/shuguo
查看节点状态
stat /sanguo
标签:实战,00,zookeeper,cfg,Zookeeper,zoo,sanguo,节点 来源: https://blog.csdn.net/qq_43193386/article/details/114196574