news 2026/7/2 5:30:46

一键安装单节点 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/7/2 0:26:57

保姆级!网络安全零基础入门指南+全流程学习路径​

第一章&#xff1a;网络安全的基本概念和术语 网络安全是指保护网络系统、硬件、软件、数据以及用户的隐私和权益&#xff0c;防止其受到未经授权的访问、篡改、窃取或破坏。以下是一些网络安全的基本概念和术语&#xff1a; 漏洞&#xff08;Vulnerability&#xff09;&…

作者头像 李华
网站建设 2026/7/1 0:24:20

PWM信号原理与Arduino舵机控制实战案例

以下是对您提供的博文《PWM信号原理与Arduino舵机控制实战技术分析》的 深度润色与重构版本 。我以一位深耕嵌入式教学十余年的工程师技术博主身份&#xff0c;彻底重写了全文—— 去掉所有AI腔、模板感和教科书式结构&#xff0c;代之以真实开发现场的语言节奏、踩坑经验、…

作者头像 李华
网站建设 2026/7/1 23:00:31

基于PetaLinux的GPIO驱动设计与实现

以下是对您提供的博文《基于PetaLinux的GPIO驱动设计与实现&#xff1a;从设备树到用户态的全链路工程实践》进行 深度润色与重构后的技术文章 。本次优化严格遵循您的全部要求&#xff1a; ✅ 彻底去除AI痕迹&#xff0c;语言自然、专业、有“人味”&#xff0c;像一位资深…

作者头像 李华
网站建设 2026/7/1 1:54:03

在AI技术触手可得的时代,寻找下一个数据科学工作流的创新需求

a. 内容描述 核心功能定位&#xff1a;该项目是一个专门为通用数据科学工作流设计的Python库及一个旗舰应用&#xff0c;旨在通过一系列专业化的AI代理&#xff08;Agent&#xff09;以及一个可视化的工作台&#xff0c;实现数据加载、清洗、可视化、建模等任务的自动化与可复…

作者头像 李华
网站建设 2026/7/1 19:21:51

漏洞扫描器的真相:它们揭示什么,又隐藏了什么

独家故事 | 网络安全 | 漏洞扫描器 | 渗透测试 | 攻击 漏洞扫描器入门&#xff1a;它们告诉你什么&#xff0c;又隐藏了什么 我发现了2000个漏洞&#xff0c;却依然错过了真正重要的攻击。 阅读时间约5分钟 2025年12月17日发布 我认识到扫描器会说谎的那一天 那份报告非常…

作者头像 李华
网站建设 2026/6/28 23:52:13

新手必看:如何用FSMN-VAD做离线语音活动检测?

新手必看&#xff1a;如何用FSMN-VAD做离线语音活动检测&#xff1f; 你是否遇到过这样的问题&#xff1a;一段10分钟的会议录音里&#xff0c;真正说话的时间可能只有3分钟&#xff0c;其余全是静音、咳嗽、翻纸声&#xff1f;想把它喂给语音识别模型&#xff0c;结果识别结果…

作者头像 李华