添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
本文详细介绍了如何在Docker环境下部署和管理Zookeeper服务,包括拉取镜像、启动容器、进入容器以及连接Zookeeper服务的步骤。同时,还提供了Zookeeper常用命令的总结,包括创建、查看、设置、删除znode节点的操作,帮助读者更好地理解和操作Zookeeper。 摘要由CSDN通过智能技术生成

1、docker拉取zookeeper镜像

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.sh 
3.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了:
在这里插入图片描述

4、znode节点常用命令

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命令进行查看:
在这里插入图片描述

1、docker拉取zookeeper镜像docker search zookeeper # 搜索镜像docker pull zookeeper:3.4.9 # 拉取指定版本zk镜像docker images # 查看image IDmkdir -p /root/docker/zookeeper/data #用于映射目录docker run -d -p 2181:2181 -v /root/docker/zookeeper/data:/data/ --name zookeeper --priv 三、启动zookeeper docker run --privileged=true -d --name zookeeper --publish 2181:2181 -d zookeeper:latest 简单解释一下 : privilegeed 给足权限,想干嘛干嘛 只开放一个2181就可以了 四、idea连接zookeeper preferences -> plugins -> mar
公司很多产品会使用zookeeper,比如Meta消息中间件,在测试的过程中,我们经常需要查询zookeeper里面的信息来精确定位问题,因此跟大家分享一个使用起来非常简单的zk浏览器工具和Eclipse 插件. 该工具除了能展示树形结构外,也能展示每个path的属性和数据,而且如果数据是文本的也可以进行编辑. 使用起来也很简单: 解压缩后点击ZooInspector\build\zookeeper-dev-ZooInspector.jar,然后在出现的界面中点击左上角的绿色按钮,输入ZK Server的地址和端口,连接成功后就能看到ZK的节点数据信息.
docker_hub上搜索zookeeper 我选择了第一个,也就是官方的镜像 网易云镜像地址,找一个合适的zookeeper镜像下载下来,并且参考下面的启动zookeeper的命令启动容器 docker pull zookeeper 启动容器 这里我直接使用host网卡 docker run -it -d --restart=always --network=host zookeeper 然后可以通过zookeeper的客户端命令连接服务器(需要下载zookeeper压缩包,进入bin
ZooKeeper下载地址 这里只放上Zookeeper官网地址,上去下载就好了就是一个压缩文件,解压就好了,时代在变化,之后将会使用docker进行操作,如果有对于docker网络有不了解的情况可以去看这篇文章docker网络 **Zookeeper下载地址**之后的操作就是解压同时需要安装JDK环境这个就不做过多赘述了 docker安装ZooKeeper 首先获取到一个zoo_sample.cfg可以通过上方下载方式获取,或者如果相信我的话复制我的 # The number of millise
[root@192 ~]# docker run -d -p 2181:2181 --name some-zookeeper --restart always 0e256393bf7e 36080e8c431c1bd51d736c91982d2...