您的位置:首页 > 其它

ZooKeeper学习笔记:netcat命令基本用法与客户端连接zookeeper

2017-08-16 21:33 537 查看

netcat命令示例

在一个终端中输入:

nc -l 1234
表示监听1234端口,再打开另一个终端,输入:

nc localhost 1234
连接到本机的1234端口 。

在客户终端与服务终端之间可以传送消息:



还可用于主机间的文件传输。在新终端中连接到slave1,服务端口以重定向输入的方式监听端口,客户终端以重定向输出的方式连接1234端口:



在master中会生成test文本,内容即为传输过来的日志。

还用于远程主机的端口扫描。由于从机slave1-slave3开启了zookeeper服务,所以使用nc命令对其进行2000-4000范围的端口扫描:

nc -v slave1 -z 2000-4000

可以看到远程主机slave1的2181与3888端口是开放的:





zookeeper的四字指令 

在客户端上连接到zookeeper后,可用四字指令对zookeeper进行操作。参考文档

示例

先用nc命令连接到slave1的2181端口(即zookeeper),在使用conf指令打印服务配置:

nc slave1 2181
conf
使用Linux的管道命令可使操作简便化,以下命令可以达到一样的效果:

echo conf | nc slave1 2181
ruok指令示例:

echo ruok | nc slave1 2181


zookeeper Quota

使用以下命令可以进入到zookeeper quota的shell:
zkCli.sh -server slav1:2181
在其shell中键入h以获得指令帮助。这里出现了Connection refused错误,在参考一篇博客之后发现是zookeeper数据目录的权限问题,将slave1-slave3下的~/tmp目录改为777权限即可。

zookeeper Quota下默认有/zookeeper/quota名字空间,可以使用creat命令创建用户自己的名字空间并同时写入数据:

create /daya hellozookeeper
使用ls /命令可以看到生成了新的名字空间:



可使用get命令查看指定路径下的数据:

get /daya
注意,zookeeper quota不能递归地创建路径,如下面的语句是不生效的:

create /daya/test1/test2
使用ls /daya可以看到并没有创建出test目录:



删除名字空间:

delete /daya
关闭连接:

close
连接关闭后想要再显示节点会提示无连接:



使用quit退出shell。

zookeeper的三台服务器维护的是同样的数据,在slave1上添加的数据同样会在slave2与slave3上同步。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: