news 2026/5/8 6:54:54

一键安装单节点 Zookeeper 3.8.5(附完整 Bash 脚本)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
一键安装单节点 Zookeeper 3.8.5(附完整 Bash 脚本)

适用环境:CentOS / Ubuntu / 其他 Linux 发行版
用途:开发测试、学习 Zookeeper 基础使用


✅ 前提条件

  1. 以 root 用户运行(或具有 sudo 权限)
  2. 已安装完整 JDK(非 JRE),并正确配置JAVA_HOME环境变量
    • 需包含javajps命令(通常 JDK 才有jps

你可以通过以下命令验证:

echo$JAVA_HOME$JAVA_HOME/bin/java -version$JAVA_HOME/bin/jps -V

📥 自动安装脚本(支持断点续装)

将以下脚本保存为install_zookeeper.sh,然后执行:

#!/bin/bash# 自动安装单节点 Zookeeperset-eZOOKEEPER_VERSION="3.8.5"ZOOKEEPER_INSTALL_DIR="/opt/zookeeper"echo"=== Zookeeper$ZOOKEEPER_VERSION自动安装脚本 ==="# 检查是否为 root 用户if["$EUID"-ne0];thenecho"❌ 请以 root 用户运行此脚本。"exit1fi# 检查 JAVA_HOME 是否设置if[-z"$JAVA_HOME"];thenecho"❌ JAVA_HOME 未设置,请先设置完整 JDK 的 JAVA_HOME"exit1fi# 检查 bin 目录下是否有 java 和 jpsif[!-x"$JAVA_HOME/bin/java"]||[!-x"$JAVA_HOME/bin/jps"];thenecho"❌ JAVA_HOME 指向的目录不完整,缺少 java 或 jps,请使用完整 JDK"exit1fi# 安装依赖(如 wget 未安装)whichwget>/dev/null||{echo"正在安装 wget...";apt-getupdate&&apt-getinstall-ywget||yuminstall-ywget;}# 下载 Zookeeper 包(如不存在)if[!-f"/tmp/apache-zookeeper-$ZOOKEEPER_VERSION-bin.tar.gz"];thenecho">>> 下载 Zookeeper$ZOOKEEPER_VERSION..."wget-q https://downloads.apache.org/zookeeper/zookeeper-$ZOOKEEPER_VERSION/apache-zookeeper-$ZOOKEEPER_VERSION-bin.tar.gz -P /tmpelseecho">>> 已存在 /tmp/apache-zookeeper-$ZOOKEEPER_VERSION-bin.tar.gz,跳过下载。"fi# 检查是否已安装 Zookeeperif[-d"$ZOOKEEPER_INSTALL_DIR"]||[-d"/opt/apache-zookeeper-$ZOOKEEPER_VERSION-bin"];thenecho">>> 检测到 Zookeeper 目录已存在,跳过解压步骤。"elseecho">>> 解压 Zookeeper..."tar-zxf /tmp/apache-zookeeper-$ZOOKEEPER_VERSION-bin.tar.gz -C /opt/mv-f /opt/apache-zookeeper-$ZOOKEEPER_VERSION-bin$ZOOKEEPER_INSTALL_DIRfi# 创建数据目录mkdir-p$ZOOKEEPER_INSTALL_DIR/data# 创建默认单节点配置cat>$ZOOKEEPER_INSTALL_DIR/conf/zoo.cfg<<EOF tickTime=2000 dataDir=$ZOOKEEPER_INSTALL_DIR/data clientPort=2181 initLimit=5 syncLimit=2 admin.serverPort=8081 server.1=node1:2888:3888 EOF# 设置 myid(单节点必须)echo"1">$ZOOKEEPER_INSTALL_DIR/data/myid# 设置环境变量(可选但推荐)if!grep-q"ZOOKEEPER_HOME"/etc/profile;thenecho">>> 写入 /etc/profile 环境变量..."cat>>/etc/profile<<EOF # Zookeeper 环境变量 export ZOOKEEPER_HOME=$ZOOKEEPER_INSTALL_DIRexport PATH=\$PATH:\$ZOOKEEPER_HOME/bin EOFfi# 加载环境变量source/etc/profile# 测试 Zookeeper 可用性echo">>> 验证 Zookeeper 安装..."if[-x"$ZOOKEEPER_INSTALL_DIR/bin/zkServer.sh"];thenecho"✅ Zookeeper 安装成功!"echo"💡 启动命令:zkServer.sh start"echo"💡 查看状态:zkServer.sh status"echo"💡 停止命令:zkServer.sh stop"$ZOOKEEPER_INSTALL_DIR/bin/zkServer.sh status||trueelseecho"⚠️ Zookeeper 安装完成,但未找到启动脚本,请检查目录$ZOOKEEPER_INSTALL_DIR/bin"fiecho"=== Zookeeper$ZOOKEEPER_VERSION安装完成 ==="

▶️ 使用方法

chmod+x install_zookeeper.sh ./install_zookeeper.sh

💡 脚本特点:

  • 自动跳过已下载的安装包
  • 若已安装则跳过解压
  • 自动创建myid文件(单节点必须!)
  • 自动配置zoo.cfg
  • 自动写入全局环境变量

🔧 启动与验证

安装完成后,你可以直接使用以下命令:

# 启动zkServer.sh start# 查看状态zkServer.sh status# 停止zkServer.sh stop

预期输出(首次启动后):

ZooKeeper JMX enabled by default Using config: /opt/zookeeper/bin/../conf/zoo.cfg Client port found: 2181. Client address: localhost. Mode: standalone

Mode: standalone表示单节点模式运行成功!


📌 注意事项

  • 单节点仅用于开发测试,生产环境请部署集群(至少 3 节点)。
  • 如果防火墙开启,请放行端口:2181(客户端)、2888/3888(集群通信,单节点可忽略)、8081(Admin Server)。
  • 若需关闭 Admin Server(减少端口暴露),取消注释配置中的#admin.enableServer=false

📚 参考资料

  • Apache Zookeeper 官网
  • Zookeeper 3.8.5 Release Notes

👍 觉得有用?欢迎点赞、收藏、关注!
如有疑问,欢迎在评论区留言交流~

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/30 15:05:03

2026互联网大厂Java面试题目(总结最全面的面试题)

Java学到什么程度可以面试工作&#xff1f; 要达到能够面试Java开发工作的水平&#xff0c;需要掌握以下几个方面的知识和技能&#xff1a; 1. 基础扎实&#xff1a;熟悉Java语法、面向对象编程概念、异常处理、I/O流等基础知识。这是所有Java开发者必备的基础&#xff0c;也…

作者头像 李华
网站建设 2026/5/1 4:43:40

国内优秀的工业大数据企业有哪些?从解决方案到案例全面剖析行业标杆

国内优秀的工业大数据企业有哪些&#xff1f;从解决方案到案例全面剖析行业标杆行业现状与核心挑战工业大数据正成为制造业数字化转型的核心驱动力&#xff0c;但国内外的竞争格局却大有不同。国内企业近年来快速崛起&#xff0c;政策支持加上市场需求爆发&#xff0c;让这个领…

作者头像 李华
网站建设 2026/5/2 10:18:13

语音转文字总出错?Paraformer-large标点预测功能实战优化指南

语音转文字总出错&#xff1f;Paraformer-large标点预测功能实战优化指南 1. 为什么你的语音转文字总像“断句失语症”&#xff1f; 你是不是也遇到过这些场景&#xff1a; 会议录音转成的文字密密麻麻连成一片&#xff0c;找不到句号逗号&#xff0c;读起来喘不过气&#x…

作者头像 李华
网站建设 2026/5/2 6:52:20

从零实现树莓派可启动SD卡的分区规划

以下是对您提供的技术博文进行 深度润色与结构重构后的版本 。我以一位资深嵌入式系统工程师兼树莓派教学博主的身份&#xff0c;彻底重写了全文—— 去除所有AI腔调、模板化表达和教科书式分节 &#xff0c;代之以真实开发场景中的思考脉络、踩坑经验与工程直觉&#xff1…

作者头像 李华
网站建设 2026/4/18 9:45:18

UNet镜像支持高清输出,1024x1024搞定

UNet镜像支持高清输出&#xff0c;1024x1024搞定 1. 为什么高清人脸融合突然变得简单了&#xff1f; 你有没有试过用传统人脸融合工具&#xff0c;好不容易调好参数&#xff0c;结果导出的图片糊得连五官都看不清&#xff1f;或者等了半天生成512x512的图&#xff0c;放大一看…

作者头像 李华
网站建设 2026/4/18 11:32:24

Z-Image-Turbo_UI界面支持中文提示词,创作更自由

Z-Image-Turbo_UI界面支持中文提示词&#xff0c;创作更自由 你有没有试过这样&#xff1a;对着英文提示词反复改写、查词典、加权重符号&#xff0c;就为了生成一张符合心意的图&#xff1f;结果还是“手抖写错一个词&#xff0c;画面全跑偏”——人物少只耳朵、建筑飘在天上…

作者头像 李华