文章目录
分布式安装部署
思路:先搞定一台服务器,再克隆出两台,形成集群。
安装Zookeeper
配置服务器编号
- 在
/opt/zookeeper/zkData
目录下新建一个myid
文件 - 在文件中添加与server对应的编号:1(整个文件的内容就是1)
- 其余两台服务器分别对应2和3
配置zoo.cfg文件
打开zoo.cfg
文件,增加以下配置:
####################### cluster #######################
server.1=192.168.204.141:2888:3888
server.2=192.168.204.142:2888:3888
server.3=192.168.204.143:2888:3888
配置参数解读:server.A=B:C:D
- A:一个数字,表示第几号服务器,集群模式下配置的
/opt/zookeeper/zkData/myid
文件里面的数据就是A的值。 - B:服务器的ip地址。
- C:与集群中
Leader
服务器交换信息的端口。 - D:选举时的专用端口,万一集群中的
Leader
服务器挂了,需要一个端口来重新进行选举,选出一个新的Leader
,而这个端口就是用来执行选举时服务器相互通信的端口。
配置其余两台服务器
- 复制虚拟机:点我传送
- 进入系统后,修改linux中的ip地址,修改
/opt/zookeeper/zkData/myid
中的数值为2
集群操作
# 关闭防火墙
[root@localhost bin] systemctl stop firewalld.service
# 启动第一台
[root@localhost bin] ./zkServer.sh start
# 查看状态
[root@localhost bin] ./zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /opt/zookeeper/bin/../conf/zoo.cfg
Client port found: 2181. Client address: localhost.
Error contacting service. It is probably not running.
# 因为没有超过半数以上的服务器,所以集群失败(防火墙没有关闭也会导致失败)
# 当启动第二台服务器时
# 查看第1台的状态:
Mode: follower
# 查看第2台的状态:
Mode: leader
客户端命令行操作
# 启动客户端(在zookeeper的bin目录下执行)
[root@localhost bin] ./zkCli.sh
# 帮助手册
help
# 查看当前znode中所包含的内容
ls /
# 查看当前节点的详细数据(Zookeeper老版本使用 ls2 / )
ls -s /
cZxid # 创建节点的事务
# 每次修改ZooKeeper状态都会收到一个zxid形式的时间戳,也就是ZooKeeper事务ID
# 事务ID是ZooKeeper中所有修改总的次序
# 每个修改都有唯一的zxid,如果zxid1小于zxid2,那么zxid1在zxid2之前发生
ctime # 被创建的毫秒数(从1970年开始)
mZxid # 最后更新的事务zxid
mtime # 最后修改的毫秒数(从1970年开始)
pZxid # 最后更新的子节点zxid
cversion # 创建版本号,子节点修改次数
dataVersion # 数据变化版本号
aclVersion # 权限版本号
ephemeralOwner # 如果是临时节点,这个是znode拥有者的session id。如果不是临时节点则是0
dataLength # 数据长度
numChildren # 子节点数
# 创建节点
create /节点名
create /父节点/子节点 # 父节点必须提前创建好(逐级创建)
create -e /节点名 # 创建短暂节点:创建成功后,quit退出客户端,重新连接,短暂的节点消失
create -s /节点名 # 如果原来没有节点,则序号从0开始递增;如果原节点下已有2个节点,则排序时从2开始,以此类推
# 创建节点并保存数据
create /节点名 "数据内容"
# 获取节点数据
get /节点名
# 修改节点数据
set /节点名 "数据内容"
# 监听节点(监听节点的数据是否发生变化及子节点的路径是否发生变化)
addWatch /节点名
# 删除节点
delete /节点名
deleteall /节点名 # 删除节点及节点下的所有内容(递归删除)
原文地址:https://blog.csdn.net/Chauncey_Ren/article/details/119452116
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。