docker search zookeeper # 搜索镜像 docker pull zookeeper:3.4.9 # 拉取指定版本zk镜像 docker images # 查看image ID mkdir -p /root/docker/zookeeper/data #用于映射目录 docker run -d -p 2181:2181 -v /root/docker/zookeeper/data:/data/ --name zookeeper --privileged 3b83d9104a4c # 启动zookeeper实例,最后的3b83d9104a4c为image ID,中间是做了目录映射,将容器内的数据目录挂载到宿主机目录,防止数据丢失2、进入容器
这个主要是为了在本机连接zookeeper服务,如果zookeeper服务在虚拟机,想要在本地windows连接则无需该步骤。
docker ps # 查看zookeeper的ConTAINER ID docker exec -it ConTAINERID /bin/bash # 后台进入容器3、连接zookeeper服务 3.1 虚拟机连接
cd bin # 进入bin目录 ./zkCli.sh3.2 本机连接
解释:主要是大多时候我们都将zookeeper服务等放在虚拟机上,而在本地进行 *** 作,因此这里我称为本机连接。
对于此种连接方式需要有几点注意的,首先是在虚拟机上,我们需要直到虚拟机的ip地址,并且虚拟机要和本地os平台在同一局域网之下(本机ping通虚拟机,虚拟机ping通本机),可利用下面命令查看虚拟机ip地址:
ifconfig
其次,我们需要关闭虚拟机的防火墙:
systemctl status firewalld #查看防火墙是否开启 systemctl start firewalld #开启防火墙 systemctl stop firewalld #关闭防火墙
然后进行端口开放:
firewall-cmd --list-ports #查看所有开启的端口 firewall-cmd --zone=public --add-port=2181/tcp --permanent #开放2181端口 firewall-cmd --reload #重启防火墙,使其生效
然后就可以使用虚拟机ip地址+端口号形式在本地os平台连接zk服务了,这里选择使用idea自带的zk插件连接测试:
先在idea上安装zookeeper插件,这里我的已经安装好了。
然后在配置好连接zookeeper的ip地址和端口号:
然后就能在idea左上角能看到zookeeper了:
znode是zookeeper的数据节点,znode之间是类似于目录树的结构关系,对zookeeper的 *** 作一般都是对znode的 *** 作,而对znode节点 *** 作就是一般的crud *** 作:
# znode节点 *** 作部分 create [-s] [-e] path data acl # 创建一个znode节点,同时设置节点权限acl,-s表示创建有序节点,-e创建临时节点,如创建一个/mynode节点:create /mynode hello,另外znode需要按照层级去创建,如创建/node1/node2,需要县创建/node1再创建/node1/node2 stat path [watch] # 查看znode状态,如数据长度,时间戳等等,同时可以注册一个监听器 get path [watch] # 获取znode节点的数据,同时可以注册一个监听器,如:get /mynode set path data [version] # 设置znode的数据,同时可以设置一个监听器,如:set /mynode "hello world" ls path [watch] #列出znode的子节点,同时可以设置一个监听器,如:ls / ls2 path [watch] #列出znode的子节点,同时可以设置一个监听器,如:ls2 /,与ls的区别是ls2还可以获取到子节点个数等等状态信息 delete path [version] #删除znode节点,注意路径为绝对路径,且不可删除拥有子节点的znode rmr path #递归删除znode节点,与delete的区别是可以删除拥有子节点的znode
当我们忘记时,可以利用help命令进行查看:
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)