当前位置: 首页 > news >正文

Linux环境下部署Zookeeper3.9.5(最新版)集群部署

官网地址:Apache ZooKeeper

最新版本:3.9.5 发布时间6 Mar, 2026

软件下载地址

Apache Download Mirrors

1、解压

cd /usr/local/soft/ tar -zxvf apache-zookeeper-3.9.5-bin.tar.gz

2、创建数据文件和目录文件

在zookeeper的跟目录下创建两个文件夹data和log

cd /usr/local/soft/apache-zookeeper-3.9.5-bin/ mkdir data mkdir log

3、拷贝配置文件

cd /usr/local/soft/apache-zookeeper-3.9.5-bin/conf/ cp zoo_sample.cfg zoo.cfg

配置文件更改

# The number of milliseconds of each tick tickTime=2000 # The number of ticks that the initial # synchronization phase can take initLimit=10 # The number of ticks that can pass between # sending a request and getting an acknowledgement syncLimit=5 # the directory where the snapshot is stored. # do not use /tmp for storage, /tmp here is just # example sakes. dataDir=/usr/local/soft/apache-zookeeper-3.9.5-bin/data dataLogDir=/usr/local/soft/apache-zookeeper-3.9.5-bin/log # the port at which the clients will connect clientPort=2181 # the maximum number of client connections. # increase this if you need to handle more clients #maxClientCnxns=60 # # Be sure to read the maintenance section of the # administrator guide before turning on autopurge. # # https://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_maintenance # # The number of snapshots to retain in dataDir #autopurge.snapRetainCount=3 # Purge task interval in hours # Set to "0" to disable auto purge feature #autopurge.purgeInterval=1 server.1=node11:2888:3888 server.2=node12:2888:3888 server.3=node13:2888:3888 ## Metrics Providers # # https://prometheus.io Metrics Exporter #metricsProvider.className=org.apache.zookeeper.metrics.prometheus.PrometheusMetricsProvider #metricsProvider.httpHost=0.0.0.0 #metricsProvider.httpPort=7000 #metricsProvider.exportJvmInfo=true

4、创建服务器myid

在data目录下创建一个myid的文件,里面的值可以给个任意的值,但要和上述服务起server.x对应

cd /usr/local/soft/apache-zookeeper-3.9.5-bin/data/ touch myid

内容添加1

集群系统环境变量添加:vi /etc/profile

export ZOOKEEPER_HOME=/usr/local/soft/apache-zookeeper-3.9.5-bin export PATH=$PATH:$ZOOKEEPER_HOME/bin

保存系统环境变量:source /etc/profile

5、集群拷贝

拷贝文件

scp -r /usr/local/soft/apache-zookeeper-3.9.5-bin root@node12:/usr/local/soft/apache-zookeeper-3.9.5-bin scp -r /usr/local/soft/apache-zookeeper-3.9.5-bin root@node13:/usr/local/soft/apache-zookeeper-3.9.5-bin

拷贝环境变量

scp /etc/profile root@node12:/etc/profile scp /etc/profile root@node13:/etc/profile

6、集群myid更改

进入到每个节点,修改/usr/local/soft/apache-zookeeper-3.9.5-bin/data/myid值

vi /usr/local/soft/apache-zookeeper-3.9.5-bin/data/myid

其中node12节点中myid文件内容改成2

其中node13节点中myid文件内容改成3

并执行

source /etc/profile

关闭集群防火墙

7、集群启动(推荐8)

进入到每个节点启动

cd /usr/local/soft/apache-zookeeper-3.9.5-bin bin/zkServer.sh start bin/zkServer.sh status

8、集群设置脚本启动

cd /usr/local/soft/apache-zookeeper-3.9.5-bin/bin/

执行文件创建及授权

创建文件

touch zkStart.sh touch zkStop.sh touch zkStatus.sh

授权

chmod +x zkStart.sh chmod +x zkStop.sh chmod +x zkStatus.sh

zkStart.sh中添加

#!/bin/bash echo "zookeeper start 11,12,13..." ssh node11 "source /etc/profile;zkServer.sh start" ssh node12 "source /etc/profile;zkServer.sh start" ssh node13 "source /etc/profile;zkServer.sh start"

zkStop.sh中添加

#!/bin/bash echo "zookeeper start 11,12,13..." ssh node11 "source /etc/profile;zkServer.sh stop" ssh node12 "source /etc/profile;zkServer.sh stop" ssh node13 "source /etc/profile;zkServer.sh stop"

zkStatus.sh中添加

#!/bin/bash echo "zookeeper start 11,12,13..." ssh node11 "source /etc/profile;zkServer.sh status" ssh node12 "source /etc/profile;zkServer.sh status" ssh node13 "source /etc/profile;zkServer.sh status"

9、启动集群

集群启动:zkStart.sh

集群关闭:zkStop.sh

集群状态查看:zkStatus.sh

验证集群启动情况

注意启动的时候出现Client SSL: false.这并不是错误。可以忽略

在 ZooKeeper 中,启动时看到 "Client SSL: false" 的信息,意味着 ZooKeeper 服务器没有启用客户端 SSL/TLS 加密。这意味着客户端与 ZooKeeper 服务器之间的通信不是加密的,这可能会带来安全风险,尤其是在生产环境中。学习阶段可以不用配置,如果配置了会导致后续连接复杂,不建议配置,如果想配置可参考本文FAQ 问题2

10、zkCli连接验证

zkCli.sh -server 192.168.1.11:2181

FAQ

1、-bash: /usr/local/soft/apache-zookeeper-3.9.5-bin/bin/zkStop.sh: /bin/bash^M: bad interpreter: No such file or directory

sudo yum install dos2unix cd /usr/local/soft/apache-zookeeper-3.9.5-bin/bin/ dos2unix zkStart.sh dos2unix zkStop.sh dos2unix zkStatus.sh

2、启动脚本被占用

/bin/bash: bad interpreter: Text file busy

解决办法:

fuser 命令名称

找到进程号,kill查杀

3、Client SSL: false解析

在 ZooKeeper 中,启动时看到 "Client SSL: false" 的信息,意味着 ZooKeeper 服务器没有启用客户端 SSL/TLS 加密。这意味着客户端与 ZooKeeper 服务器之间的通信不是加密的,这可能会带来安全风险,尤其是在生产环境中。

如果你希望启用客户端 SSL/TLS 加密来增强安全性,你需要进行以下几步操作(初学者不建议操作):

具体可参照:zookeeper开启ssl_清晨的技术博客_51CTO博客

  1. 生成密钥库和信任库
    你需要生成一个 Java 密钥库(keystore)来存储服务器的私钥和证书,以及一个信任库(truststore)来存储客户端信任的 CA 证书。这些证书可以是自签名的,也可以是由受信任的证书颁发机构(CA)签发的。

  2. 配置 ZooKeeper 服务器
    在 ZooKeeper 的配置文件(通常是zoo.cfg)中,你需要设置几个属性来启用 SSL。这些属性包括secureClientPort(一个用于 SSL/TLS 通信的端口号,通常是不同于非加密通信的端口),ssl.keystore.location(密钥库的路径),ssl.keystore.password(访问密钥库的密码),ssl.truststore.location(信任库的路径),以及ssl.truststore.password(访问信任库的密码)。

secureClientPort=2182
ssl.keystore.location=/path/to/keystore.jks
ssl.keystore.password=keystore_password
ssl.truststore.location=/path/to/truststore.jks
ssl.truststore.password=truststore_password

http://www.gsyq.cn/news/1584633.html

相关文章:

  • 基于MobileNetV3的轻量化人脸年龄估计模型构建与移动端部署实战
  • 【学习心得 ● 运维】nginx 常用命令(烦人的Nginx)
  • DOSE:基于现成模型的多模态LLM训练数据筛选实战指南
  • DNA动力学可视化:深度学习与生物物理信息融合的ViDa框架解析
  • 大语言模型参数恢复的数学框架与实现
  • 北京离婚财产分割律师联系方式推荐 资深律师曹子燕执业服务指南
  • temu商家端加密分析
  • CQR与马氏距离:为VLA机器人构建不确定性感知的安全决策框架
  • 2026年LLM API智能路由:多模型网关的工程选型与实战
  • 基于深度强化学习的多目标SAR无人机智能路径规划实战解析
  • 图卷积网络与约束感知学习在动态微电网恢复中的应用
  • 基于Stackelberg博弈与可排空性护栏的GPU云平台定价与扩缩容策略
  • 硅光子打破功耗墙:AI训练能耗降低60%,台积电2026年量产CPO
  • 大语言模型自进化代理的行为漂移:经验记忆如何侵蚀AI安全边界
  • 量子电路切割技术在变分量子分类器中的应用与优化
  • HarmChip:首个面向硬件安全的LLM越狱基准测试与安全评估
  • Tree of Concepts:构建可解释、持续学习的临床知识图谱框架
  • RDDG框架深度解析:基于LLM的动态引导式结构化数据生成实践
  • 本地优先AI开发者命令中心:构建智能、隐私安全的工程工作流
  • Superpowers辅助工具链:可验证的工程契约体系
  • 基于WebRTC与云边端架构的机器人强化学习教育平台实践
  • GAMMA-Net:图注意力与Mamba融合的交通时空预测模型
  • Claude CLI直连与飞书机器人集成实战指南
  • 基于LLM的多智能体翼型设计:风险感知与协同优化框架
  • Claude Code Skills 核心原理:SKILL.md 契约、references 上下文注入与 assets 沙箱机制
  • Codex App vs Claude Code:Windows开发者的AI编程工作流抉择
  • 割多面体、度量多面体与椭球体:比较松弛紧密度与算法设计选择
  • 基于Python的家具消费数据的数据分析与应用
  • 向量数据库集成:LangChain下FAISS/Chroma/pgvector等选型与避坑指南
  • Python依赖解析进阶:置信度级联与记忆增强机制解析