【Zookeeper】docker安装zookeeper并启动连接测试

本文详细介绍了如何在Docker环境下部署和管理Zookeeper服务,包括拉取镜像、启动容器、进入容器以及连接Zookeeper服务的步骤。同时,还提供了Zookeeper常用命令的总结,包括创建、查看、设置、删除znode节点的操作,帮助读者更好地理解和操作Zookeeper。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

### 解决 PP-OCRv4 出现的错误 当遇到 `WARNING: The pretrained params backbone.blocks2.0.dw_conv.lab.scale not in model` 这样的警告时,这通常意味着预训练模型中的某些参数未能匹配到当前配置下的模型结构中[^2]。 对于此问题的一个有效解决方案是采用特定配置文件来适配预训练权重。具体操作方法如下: 通过指定配置文件 `ch_PP-OCRv4_det_student.yml` 并利用已有的最佳精度预训练模型 (`best_accuracy`) 来启动训练过程可以绕过上述不兼容的问题。执行命令如下所示: ```bash python3 tools/train.py -c configs/det/ch_PP-OCRv4/ch_PP-OCRv4_det_student.yml ``` 该方案不仅解决了参数缺失带来的警告,还能够继续基于高质量的预训练成果进行微调,从而提升最终检测效果。 关于蒸馏的概念,在机器学习领域内指的是将大型复杂网络(teacher 模型)的知识迁移到小型简单网络(student 模型)。这里 student 和 teacher 的关系是指两个不同规模或架构的神经网络之间的指导与被指导的关系;其中 teacher 已经经过充分训练并具有良好的性能,而 student 则试图模仿前者的行为模式以达到相似的效果但保持更高效的计算特性。 至于提到的 `Traceback` 错误信息部分,由于未提供具体的跟踪堆栈详情,难以给出针对性建议。不过一般而言,这报错往往涉及代码逻辑错误或是环境配置不当等问题。为了更好地帮助定位和解决问题,推荐记录完整的异常日志,并仔细检查最近修改过的代码片段以及确认依赖库版本的一致性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

童话ing

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值