1、问题示例

(1)启动ZooKeeper服务报错

[Hadoop@master ~]$ zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /home/Hadoop/ZooKeeper/zookeeper-3.7.0/bin/../conf/zoo.cfg
Client port found: 2181. Client address: localhost. Client SSL: false.
Error contacting service. It is probably not running.

(2)查看ZooKeeper日志

[Hadoop@master ZooKeeper]$ zkServer.sh start-foreground
ZooKeeper JMX enabled by default
Using config: /home/Hadoop/ZooKeeper/zookeeper-3.7.0/bin/../conf/zoo.cfg
2021-11-02 00:53:27,801 [myid:] - INFO [main:QuorumPeerConfig@174] - Reading configuration from: /home/Hadoop/ZooKeeper/zookeeper-3.7.0/bin/../conf/zoo.cfg
2021-11-02 00:53:27,810 [myid:] - INFO [main:QuorumPeerConfig@444] - clientPortAddress is 0.0.0.0:2181
2021-11-02 00:53:27,810 [myid:] - INFO [main:QuorumPeerConfig@448] - secureClientPort is not set
2021-11-02 00:53:27,810 [myid:] - INFO [main:QuorumPeerConfig@464] - observerMasterPort is not set
2021-11-02 00:53:27,811 [myid:] - INFO [main:QuorumPeerConfig@481] - metricsProvider.className is org.apache.zookeeper.metrics.impl.DefaultMetricsProvider
2021-11-02 00:53:27,816 [myid:1] - INFO [main:DatadirCleanupManager@78] - autopurge.snapRetainCount set to 3
2021-11-02 00:53:27,816 [myid:1] - INFO [main:DatadirCleanupManager@79] - autopurge.purgeInterval set to 0
2021-11-02 00:53:27,817 [myid:1] - INFO [main:DatadirCleanupManager@101] - Purge task is not scheduled.
2021-11-02 00:53:27,818 [myid:1] - INFO [main:ManagedUtil@44] - Log4j 1.2 jmx support found and enabled.
2021-11-02 00:53:27,823 [myid:1] - INFO [main:QuorumPeerMain@152] - Starting quorum peer, myid=1
2021-11-02 00:53:27,830 [myid:1] - INFO [main:ServerMetrics@62] - ServerMetrics initialized with provider org.apache.zookeeper.metrics.impl.DefaultMetricsProvider@19dfb72a
2021-11-02 00:53:27,832 [myid:1] - INFO [main:DigestAuthenticationProvider@47] - ACL digest algorithm is: SHA1
2021-11-02 00:53:27,832 [myid:1] - INFO [main:DigestAuthenticationProvider@61] - zookeeper.DigestAuthenticationProvider.enabled = true
2021-11-02 00:53:27,835 [myid:1] - INFO [main:ServerCnxnFactory@169] - Using org.apache.zookeeper.server.NIOServerCnxnFactory as server connection factory
2021-11-02 00:53:27,836 [myid:1] - WARN [main:ServerCnxnFactory@309] - maxCnxns is not configured, using default value 0.
2021-11-02 00:53:27,837 [myid:1] - INFO [main:NIOServerCnxnFactory@652] - Configuring NIO connection handler with 10s sessionless connection timeout, 1 selector thread(s), 4 worker threads, and 64 kB direct buffers.
2021-11-02 00:53:27,841 [myid:1] - INFO [main:NIOServerCnxnFactory@660] - binding to port 0.0.0.0/0.0.0.0:2181
2021-11-02 00:53:27,842 [myid:1] - ERROR [main:QuorumPeerMain@114] - Unexpected exception, exiting abnormally
java.net.BindException: 地址已在使用
at sun.nio.ch.Net.bind0(Native Method)
at sun.nio.ch.Net.bind(Net.java:438)
at sun.nio.ch.Net.bind(Net.java:430)
at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:225)
at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:74)
at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:67)
at org.apache.zookeeper.server.NIOServerCnxnFactory.configure(NIOServerCnxnFactory.java:662)
at org.apache.zookeeper.server.quorum.QuorumPeerMain.runFromConfig(QuorumPeerMain.java:169)
at org.apache.zookeeper.server.quorum.QuorumPeerMain.initializeAndRun(QuorumPeerMain.java:137)
at org.apache.zookeeper.server.quorum.QuorumPeerMain.main(QuorumPeerMain.java:91)
2021-11-02 00:53:27,843 [myid:1] - INFO [main:ZKAuditProvider@42] - ZooKeeper audit is disabled.
2021-11-02 00:53:27,844 [myid:1] - ERROR [main:ServiceUtils@42] - Exiting JVM with code 1

2、问题剖析

造成上述问题,其实笔者也不知道是什么原因导致的。

但是呢,在后来笔者耐心不断修改、不断测试中,意外地把Zookeeper配置搞对了。

但可以肯定的是,Zookeeper集群需要将至少三个节点都启动起来之后,才会运行正常。而且,主节点是随机选择的,不能指定。

3、解决方案

(1)参数文件要配正确;

(2)至少启动三个节点后,集群才会运行正常。重新查看各个节点的状态,在配置没有问题情况下,就会正常了。

注:后期笔者会将正确的配置晒出,当前没有时间进行整理。

最新文章

  1. Windows 64位下装Oracle 11g,PLSQL Developer的配置问题,数据库处显示为空白的解决方案
  2. formValidator 表单验证
  3. 笔记26-徐 SQLSERVER内存分配和常见内存问题
  4. Cocos2d-x数据存储
  5. 重构第24天 分解复杂的判断(Remove Arrowhead Antipattern)
  6. SaltStack Syndic配置
  7. poj 3182 The Grove
  8. 单网卡多IP导致的socket connect 10060超时错误
  9. 深度RAMOS,把操作系统全部安装在内存上
  10. Socket编程实践(12) --UDP编程基础
  11. Fitnesse - Slim Tables
  12. linux设备驱动之字符设备驱动模型(1)
  13. C# -- FTP上传下载
  14. shell32.dll 控制网络
  15. python 创建二维数组
  16. python全栈开发 * 线程锁 Thread 模块 其他 * 180730
  17. python基础学习笔记(八)
  18. 【java】之常用四大线程池用法以及ThreadPoolExecutor详解
  19. 在Visual Studio中使用序列图描述对象之间的互动
  20. 高可用(HA)架构

热门文章

  1. eggjs 在vscode调试
  2. PC端 图片宽度是百分比,动态设置图片高度为 6:9
  3. 【C学习笔记】day2-2 不允许创建临时变量,交换两个数的内容(附加题)
  4. 帮你躲坑:pip install tensorflow 报错怎么办,import tensorflow 报错怎么办?
  5. 安卓开发学习10-1:数据存储:Shared Preferences存储
  6. antd DatePicker限制日期的选择
  7. CRLF和LF的差异
  8. 2022-4-7内部群每日三题-清辉PMP
  9. 访问不了github解决方案
  10. Django 之 ORM1