Zookeeper 集群搭建过程中常见错误

文章目录

Mode: standalone

这通常表示 Zookeeper 配置为单节点模式,而不是集群模式。需要检查 zoo.cfg 文件中的配置,确保包含了所有集群节点的信息。

启动失败

sh 复制代码
/usr/bin/java
ZooKeeper JMX enabled by default
Using config: /opt/zookeeper-3.5.7/bin/../conf/zoo.cfg
Starting zookeeper ... FAILED TO START
sh 复制代码
/usr/bin/java
ZooKeeper JMX enabled by default
Using config: /opt/zookeeper-3.5.7/bin/../conf/zoo.cfg
Client port found: 2181. Client address: localhost.
Error contacting service. It is probably not running.

首先查看 $ZOOKEEPER_HOME/logs 目录下的 .out 后缀文件中报错内容(在 hadoop 系统中,.log 结尾的日志文件通常用于记录应用程序的日志信息,而 .out 结尾的文件则用于存储标准输出和标准错误信息),出现其他的报错问题都可以去 .out 后缀文件里查看报错信息,根据报错信息能更容易找到问题所在,更方便解决问题。

常见的错误如下:

  • 数据目录和日志目录 :写绝对路径,不要写相对路径,也不要直接写 $ZOOKEEPER_HOME/tmp/data,示例

    sh 复制代码
    dataDir=/opt/zookeeper-3.5.7/tmp/data
  • 服务器地址问题 ,如果这里写的 B 写的是用户名,检查 /etc/hosts 是否配置 IP 映射

    bash 复制代码
    server.A=B:C:D
  • myid 不匹配 : 在每个 Zookeeper 节点的数据目录下的 myid 文件,其中包含一个数字,表示该节点在集群中的唯一标识。如果这个数字与 zoo.cfg 中上述配置 A 不匹配,可能会导致集群故障。

  • 权限问题 : 操作系统权限不足可能导致 Zookeeper 无法启动或运行。需要确保 Zookeeper 安装目录具有适当的读写执行 rwx 权限。

  • 进程冲突 : 如果在启动 Zookeeper 时出现错误信息

    sh 复制代码
    already running as process XXX 

    表示同一台机器上已经有一个 Zookeeper 进程在运行。可能需要停止现有的进程,或者检查是否有残留的进程占用端口,可以通过查看端口占用情况,如使用 netstat -apn | grep 2181 命令,解决端口冲突问题。

  • 防火墙未关闭 :防火墙可能会阻止 Zookeeper 集群之间的通信。需要确保防火墙已关闭,或者将 Zookeeper 集群的端口添加到防火墙白名单中。

    例如,如果你使用的是firewalld,关闭防火墙示例代码

    sh 复制代码
    systemctl stop firewalld.service # 停止firewall
    systemctl disable firewalld.service # 禁止firewall开机启动

    修改完防火墙配置文件后你需要保存修改并重启防火墙服务,以使更改生效。可以使用以下命令重启防火墙。具体的命令也取决于你使用的防火墙软件

    sh 复制代码
    systemctl restart firewalld

    如果你使用的是 iptables 添加白名单示例代码

    sh 复制代码
    iptables -A INPUT -p tcp --dport 2181 -j ACCEPT
  • Java 环境问题 :Java 环境未正确配置或使用的 Java 版本与 Zookeeper 不兼容。

解决这些问题通常需要仔细检查配置文件、日志文件和操作系统设置,并根据具体错误信息进行相应的调整。

相关推荐
samFuB6 小时前
【数据集】上市公司数字化与绿色化耦合协调度数据(2010-2025年)
大数据
198******1263412 小时前
2026企业AI办公工具选型指南:从评估框架到场景适配
大数据·运维·人工智能
2601_9672127213 小时前
专利型电源轨道系统技术路线对比与选型框架
大数据·运维·网络·经验分享
数字化顾问14 小时前
(138页PPT)流程体系的建设优化与运营(附下载方式)
大数据·运维·人工智能
织码weavecodes14 小时前
培训平台部署备份与容灾:从三服务交付到可恢复运行
大数据·学习·开源软件
天涯明月199315 小时前
世界模型:原理、范式与工程实践
大数据·人工智能·大模型·具身智能·世界模型
梦想画家17 小时前
SQLMesh Python 模型入门(三):前后置语句、蓝图建模与避坑指南
大数据·python·sqlmesh
和裕17 小时前
年度框架直供 vs 零散按需采购:定制纸箱采购成本、交付与服务核心区别全对比
大数据·运维·网络·人工智能·算法
mftang17 小时前
EtherCAT协议:从“飞读飞写”机制到分布式时钟同步的实时以太网架构深度解析
分布式·架构·ethercat·分布式时钟·从站控制器
具身AGI18 小时前
ARR还是交付量,物理AI 国产 的三种收入口径
大数据·人工智能