zookeeper的shell操作

57 篇文章 3 订阅
29 篇文章 0 订阅

zookeeper的shell操作

要使用shell命令去操作zookeeper之前需要先启动zookeeper。启动命令在之前安装教程中。

启动命令:/export/server/zookeeper/bin/zkServer.sh start

查看启动后的状态:/export/server/zookeeper/bin/zkServer.sh status

1. 启动zookeeper的shell客户端

zookeeper的shell客户端启动不用再装什么软件,只需要到zookeeper的安装目录下的bin目录中启动 zkCli.sh 。

先进入到zookeeper下的bin目录,如果想直接root根目录下启动,需要在命令前加上到zookeeper下的bin目录的路径。

启动命令:zkCli.sh 或者 zkCli.sh –server ip .

两者的区别:zkCli.sh 会查找本机的zookeeper服务,然后启动连接到本机上;

zkCli.sh –server ip 会连接到你指定的IP地址,然后查看上面的zookeeper的服务,然后连接到指定的IP地址的服务器上面的zookeeper。

zookeeper启动shell客户端

2. shell客户端常用命令

1. 创建节点
create [-s] [-e] path data acl
  • -s:加上的话表示是一个序列化的节点,不加表示不是序列化的节点

  • -e:加上的表示是一个临时节点,不加表示持久节点

  • path:表示创建的路径在哪里

  • data:表示节点中保存的数据

  • acl:权限控制

create /zktmp 123456 				#在根目录下创建临时节点 zktmp,保存内容为123456
create /hellozk hello 				#在根目录下创建持久节点hellozk,保存内容为hello
create -s -e /hellozk/a 123         #在hellozk节点下创建序列化的临时节点 a,保存内容123
create -s /hellozk/a 456         	#在hellozk节点下创建序列化的持久节点 a,保存内容123

shell客户端创建操作命令

注意点:

  • 我们在node-1 上面创建了这个 zktmp的临时节点,当我们使用 Ctrl + c 断开连接时,从其他虚拟机去查看发现 zktmp这个节点没有被删除,这个不是不符合我们临时节点的特性(连接断开后删除该节点),zookeeper需要判断你这个是真正的断开,还是因为网络不稳定等其他原因而导致的断开,所以需要等待几秒中才能看到这个临时节点被删除。
  • 当我们创建一个序列化节点时,zookeeper会自动的在我们设定好的名称后面补齐十位数字,从0000000000开始递增。从这我们可以得知节点的创建顺序。
  • 如果我们在同一个节点下创建两个名称相同的序列化节点时,不会报错,因为后面补齐的数字不一样,可以区分。
  • 当我们从另外一个节点位置开始创建序列化节点时,补齐的数字将重新从0000000000 开始。
2. 读取节点
ls path [watch]   	# 查看path路径下的所有节点,只能看到指定 path 路径下的节点,看不到下一层级的节点
get path [watch]	# 查看指定节点的属性和节点内容
ls2 path [watch]	# 与get命令类似,可以查看指定节点的属性和下一节点,但是不能查看节点内容

shell客户端查看操作命令

3. 更新节点
set path data [version]		# data 就是要更新的新内容,version 表示数据版本。

注意:版本号如果输入的话,就需要和当前的版本号保持一致,不一致则会报错。

shell客户端修改操作命令

4. 删除节点
delete path [version] 		# 删除节点
Rmr path					# 递归删除节点

注意:

  • 若删除节点存在子节点,那么无法删除该节点,必须先删除子节点,再删除父节点。可以递归删除节点。
5. 限制节点
setquota -n|-b val path 		# 对节点增加限制。
listquota path 					# 列出指定节点的 quota(限制)
delquota [-n|-b] path 			# 删除 quota
  • **n:**表示子节点的最大个数,与限制最大长度二选一,
  • **b:**表示数据值的最大长度,与限制子节点最大个数二选一
  • **val:**子节点最大个数或数据值的最大长度
  • **path:**节点路径

注意: 当限制了子节点个数后,如果我们创建的子节点超过了限制的个数,不会报错,子节点也能创建成功;但是会在会在zookeeper的日志文件中记录一个警告,说明节点数量已经超了限制。

zookeeper日志在 root 根目录下,有一个zookeeper.out 文件,cat这个文件即可。

删除限制时,如果创建的是 -n 的限制(限制子节点的最大数量),则加上 -n, -b同理。

6. 其他命令
history 		# 列出命令历史
redo			# 该命令可以重新执行指定命令编号的历史命令,命令编号可以通过 history 查看
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值