博客 实战:ZooKeeper 操作命令和集群部署

实战:ZooKeeper 操作命令和集群部署

   数栈君   发表于 2024-11-08 11:18  379  0

ZooKeeper的操作命令主要用于对ZooKeeper服务中的节点进行创建、查看、修改和删除等操作。以下是一些常用的ZooKeeper操作命令及其说明:

一、启动与连接
启动ZooKeeper服务器:

./zkServer.sh start
这个命令用于启动ZooKeeper服务器。

连接ZooKeeper客户端:

./zkCli.sh
或者,指定服务器地址和端口号进行连接:

./zkCli.sh -server :
退出ZooKeeper客户端:

quit
关闭ZooKeeper服务器:

./zkServer.sh stop
查看ZooKeeper服务器状态:

./zkServer.sh status
二、节点操作
1. 查看节点
ls命令:用于列出指定节点下的所有子节点。

ls [watch]
其中,是节点的路径,[watch]是可选参数,用于监听该节点的变化。
http://dtstack-static.oss-cn-hangzhou.aliyuncs.com/2021bbs/files_user1/article/cacfa4c72751c70d512fe96ebc47f257..png



ls2命令:与ls命令类似,但会同时列出子节点和节点的状态信息。

ls2 [watch]
http://dtstack-static.oss-cn-hangzhou.aliyuncs.com/2021bbs/files_user1/article/27fb71eecc66d8181c80d8b205ce7cf6..png


get命令:用于获取指定节点的数据内容和属性信息。

get [watch]
http://dtstack-static.oss-cn-hangzhou.aliyuncs.com/2021bbs/files_user1/article/0131acbccbcb04fd0031532166c3ad7b..png


2. 创建节点
create命令:用于创建一个新的节点。

create [acl]
其中,是节点的路径,是节点存储的数据,[acl]是可选的访问控制列表。

http://dtstack-static.oss-cn-hangzhou.aliyuncs.com/2021bbs/files_user1/article/c49741334278fdb760c8d8df1e875ef6..png


create -s
顺序节点会在节点名后自动添加一个递增的序列号。

create -e
临时节点在客户端会话结束后会自动删除。

创建临时节点:使用-e选项。

创建顺序节点:使用-s选项。

3. 修改节点
set命令:用于修改指定节点的数据内容。 bash set [version] 其中,是节点的路径,是新的数据内容,[version]是可选的数据版本号,用于控制更新的条件。

http://dtstack-static.oss-cn-hangzhou.aliyuncs.com/2021bbs/files_user1/article/63c44b578c1a38a6d3b695a4194870d2..png


4. 删除节点
delete命令:用于删除指定节点。

delete [version]
其中,是节点的路径,[version]是可选的数据版本号。注意,delete命令只能删除空节点(即没有子节点的节点)。

http://dtstack-static.oss-cn-hangzhou.aliyuncs.com/2021bbs/files_user1/article/9d73b58dad09bc70ab68af73ecd6c8ce..png


删除非空节点:一些ZooKeeper版本或扩展可能提供了deleteall命令来删除非空节点,但这不是ZooKeeper核心功能的标准部分。在实际使用中,需要先删除非空节点的所有子节点,然后再删除该节点。
http://dtstack-static.oss-cn-hangzhou.aliyuncs.com/2021bbs/files_user1/article/d59fb35c37d93abc0f1bed2339740f19..png



三、其他命令
stat命令:用于获取指定节点的状态信息。

stat [watch]
http://dtstack-static.oss-cn-hangzhou.aliyuncs.com/2021bbs/files_user1/article/4490d0dd38f40b7ce8f74e6a13b600f7..png


help命令:在ZooKeeper客户端中,可以使用help命令来查看所有可用的命令及其说明。

help
这些命令是ZooKeeper操作中常用的基本命令,它们涵盖了节点的创建、查看、修改和删除等核心功能。在实际使用中,可以根据需要选择合适的命令进行操作。

ZooKeeper 集群部署
ZooKeeper集群部署是一个涉及多个步骤和配置的过程,主要包括环境准备、ZooKeeper安装、配置文件修改、启动和验证集群等关键步骤。以下是一个以3台服务器详细的部署指南:

一、环境准备
硬件资源:

通常建议使用3台或更多(推荐为2n+1台,n为大于1的整数)的服务器来部署ZooKeeper集群,以确保高可用性和容错性。

每台服务器应具有足够的CPU、内存和存储空间来支持ZooKeeper的运行。

三个节点, 修改操作系统的/etc/hosts文件,添加IP与主机名映射:

10.109.142.53 zk-001
10.109.190.32 zk-002
10.109.165.20 zk-003
操作系统:

选择支持ZooKeeper的操作系统,如Linux(推荐CentOS、Ubuntu等)。

网络配置:

确保所有服务器都能相互通信,且网络延迟和丢包率保持在较低水平。

配置好服务器的IP地址和主机名,并确保它们能在集群中正确解析。

软件依赖:

安装Java环境,因为ZooKeeper是用Java编写的。推荐使用Java 8或更高版本。

安装必要的工具和库,如tar、wget等,以便下载和解压ZooKeeper安装包。

二、ZooKeeper安装
下载ZooKeeper安装包:

访问Apache ZooKeeper的官方网站(https://zookeeper.apache.org/)或镜像站点,下载最新版本的ZooKeeper安装包。

可以使用wget命令或浏览器下载到本地,然后上传到服务器。

解压安装包:

将下载的ZooKeeper安装包解压到指定的目录,如/usr/local/。

重命名解压后的文件夹,以便更容易识别,如zookeeper-3.x.x。

三、配置文件修改
1. 复制配置文件:
进入ZooKeeper的conf目录,复制zoo_sample.cfg文件为zoo.cfg。

2. 编辑zoo.cfg文件:
配置如下:

# 服务器之间或客户端与服务器之间维持心跳的时间间隔
# tickTime以毫秒为单位。
tickTime=2000
# 集群中的follower服务器(F)与leader服务器(L)之间的初始连接心跳数
initLimit=10
# 集群中的follower服务器与leader服务器之间请求和应答之间能容忍的最多心跳数
syncLimit=5
# 快照保存目录
# 不要设置为/tmp,该目录重新启动后会被自动清除
dataDir=/data/zookeeper/zk1/data
# 日志保存目录
dataLogDir=/data/zookeeper/zk1/logs
# 客户端连接端口
clientPort=2181
# 客户端最大连接数。
# 根据自己实际情况设置,默认为60个
# maxClientCnxns=60
# 三个接点配置,格式为:
# server.服务编号=服务地址、通信端口、选举端口
server.1=zk-001:2888:3888
server.2=zk-002:2888:3888
server.3=zk-003:2888:3888

说明:

修改dataDir参数,指定ZooKeeper存储快照的目录。

如果需要,还可以设置dataLogDir参数,指定ZooKeeper存储事务日志的目录。

修改clientPort参数,设置ZooKeeper服务监听的端口号(默认为2181)。

在配置文件末尾添加集群配置,格式为server.n=host:peerPort:electionPort,其中n是服务器的唯一标识(与myid文件中的值对应);host是服务器的IP地址或主机名;peerPort是用作leader与follwer之间的通信端口号(数据同步),默认为2888;electionPort是用于选举Leader投票的端口号(默认为3888)。

这一步主要是配图中的框出来的内容:
http://dtstack-static.oss-cn-hangzhou.aliyuncs.com/2021bbs/files_user1/article/fc4f3c53a586353b2b2681402eb19e72..png



3. 创建myid文件:
在每台服务器的dataDir指定的目录下,创建一个名为myid的文件,内容为该服务器的唯一标识(与zoo.cfg中配置的server.n中的n相对应)。

以第一台为例 vim myid:

按照以上步骤,三台服务器做同样的操作。

四、启动ZooKeeper集群
启动ZooKeeper服务:

在每台服务器上,进入ZooKeeper的bin目录,执行./zkServer.sh start命令分别启动ZooKeeper服务。

验证集群状态:

在每台服务器上执行./zkServer.sh status命令,查看ZooKeeper服务的状态。

正常情况下,集群中应该有一个Leader和多个Follower。可以通过查看日志或使用ZooKeeper客户端工具(如zkCli.sh)来进一步验证集群的运行状态。

如第三台服务器:

http://dtstack-static.oss-cn-hangzhou.aliyuncs.com/2021bbs/files_user1/article/a9a4753dc105cd9d8cc158cd7300a9db..png


五、注意事项
防火墙和安全组配置:

确保ZooKeeper服务监听的端口(默认为2181)在服务器的防火墙和安全组中已开放。

数据备份和恢复:

定期备份ZooKeeper的数据目录和日志目录,以便在数据丢失或损坏时能够恢复。

监控和日志:

配置监控工具来监控ZooKeeper集群的性能和健康状况。

定期查看ZooKeeper的日志文件,以便及时发现并解决问题。

版本兼容性:

确保集群中所有服务器上的ZooKeeper版本相同,以避免版本不兼容导致的问题。

通过以上步骤,您可以成功部署一个ZooKeeper集群,并确保其能够稳定运行。
————————————————

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

原文链接:https://blog.csdn.net/Rookie_CEO/article/details/140779764


免责申明:
本文系转载,版权归原作者所有,如若侵权请联系我们进行删除!
《数据治理行业实践白皮书》下载地址:https://fs80.cn/4w2atu
《数栈V6.0产品白皮书》下载地址:https://fs80.cn/cw0iw1
想了解或咨询更多有关袋鼠云大数据产品、行业解决方案、客户案例的朋友,浏览袋鼠云官网:https://www.dtstack.com/?src=bbs
同时,欢迎对大数据开源项目有兴趣的同学加入「袋鼠云开源框架钉钉技术群」,交流最新开源技术信息,群号码:30537511,项目地址:https://github.com/DTStack

0条评论
下一篇:
社区公告
  • 大数据领域最专业的产品&技术交流社区,专注于探讨与分享大数据领域有趣又火热的信息,专业又专注的数据人园地

最新活动更多
微信扫码获取数字化转型资料
钉钉扫码加入技术交流群