核心内容摘要
枫与玲:一场跨越时空的浪漫邂逅
适用环境CentOS / Ubuntu / 其他 Linux 发行版用途开发测试、学习 Zookeeper 基础使用✅ 前提条件以 root 用户运行或具有 sudo 权限已安装完整 JDK非 JRE并正确配置JAVA_HOME环境变量需包含java和jps命令通常 JDK 才有jps你可以通过以下命令验证echo$JAVA_HOME$JAVA_HOME/bin/java -version$JAVA_HOME/bin/jps -V 自动安装脚本支持断点续装将以下脚本保存为install_zookeeper.sh然后执行#!/bin/bash# 自动安装单节点 Zookeeperset-eZOOKEEPER_VERSION
3.
5ZOOKEEPER_INSTALL_DIR/opt/zookeeperecho Zookeeper$ZOOKEEPER_VERSION自动安装脚本 # 检查是否为 root 用户if[$EUID-ne0];thenecho❌ 请以 root 用户运行此脚本。
exit1fi# 检查 JAVA_HOME 是否设置if[-z$JAVA_HOME];thenecho❌ JAVA_HOME 未设置请先设置完整 JDK 的 JAVA_HOMEexit1fi# 检查 bin 目录下是否有 java 和 jpsif[!-x$JAVA_HOME/bin/java]||[!-x$JAVA_HOME/bin/jps];thenecho❌ JAVA_HOME 指向的目录不完整缺少 java 或 jps请使用完整 JDKexit1fi# 安装依赖如 wget 未安装whichwget/dev/null||{echo正在安装 wget...;apt-getupdateapt-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.cfgEOF tickTime2000 dataDir$ZOOKEEPER_INSTALL_DIR/data clientPort2181 initLimit5 syncLimit2 admin.serverPort8081 server.1node1:2888:3888 EOF# 设置 myid单节点必须echo1$ZOOKEEPER_INSTALL_DIR/data/myid# 设置环境变量可选但推荐if!grep-qZOOKEEPER_HOME/etc/profile;thenecho 写入 /etc/profile 环境变量...cat/etc/profileEOF # 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 startecho 查看状态zkServer.sh statusecho 停止命令zkServer.sh stop$ZOOKEEPER_INSTALL_DIR/bin/zkServer.sh status||trueelseecho⚠️ Zookeeper 安装完成但未找到启动脚本请检查目录$ZOOKEEPER_INSTALL_DIR/binfiecho Zookeeper$ZOOKEEPER_VERSION安装完成 ▶️
使用方法chmodx 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:
Client address: localhost. Mode: standalone✅Mode: standalone表示单节点模式运行成功
注意事项单节点仅用于开发测试生产环境请部署集群至少 3 节点。
如果防火墙开启请放行端口2181客户端、2888/3888集群通信单节点可忽略、8081Admin Server。
若需关闭 Admin Server减少端口暴露取消注释配置中的#admin.enableServerfalse。
参考资料Apache Zookeeper 官网Zookeeper
3.