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 不兼容。

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

相关推荐
Data跳动3 小时前
Spark内存都消耗在哪里了?
大数据·分布式·spark
woshiabc1114 小时前
windows安装Elasticsearch及增删改查操作
大数据·elasticsearch·搜索引擎
lucky_syq5 小时前
Saprk和Flink的区别
大数据·flink
lucky_syq5 小时前
流式处理,为什么Flink比Spark Streaming好?
大数据·flink·spark
袋鼠云数栈5 小时前
深入浅出Flink CEP丨如何通过Flink SQL作业动态更新Flink CEP作业
大数据
Java程序之猿5 小时前
微服务分布式(一、项目初始化)
分布式·微服务·架构
来一杯龙舌兰6 小时前
【RabbitMQ】RabbitMQ保证消息不丢失的N种策略的思想总结
分布式·rabbitmq·ruby·持久化·ack·消息确认
小白学大数据6 小时前
如何使用Selenium处理JavaScript动态加载的内容?
大数据·javascript·爬虫·selenium·测试工具
15年网络推广青哥6 小时前
国际抖音TikTok矩阵运营的关键要素有哪些?
大数据·人工智能·矩阵
节点。csn7 小时前
Hadoop yarn安装
大数据·hadoop·分布式