ZooKeeper启动报错,未成功开启服务
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)至少启动三个节点后,集群才会运行正常。重新查看各个节点的状态,在配置没有问题情况下,就会正常了。
注:后期笔者会将正确的配置晒出,当前没有时间进行整理。
最新文章
- Windows 64位下装Oracle 11g,PLSQL Developer的配置问题,数据库处显示为空白的解决方案
- formValidator 表单验证
- 笔记26-徐 SQLSERVER内存分配和常见内存问题
- Cocos2d-x数据存储
- 重构第24天 分解复杂的判断(Remove Arrowhead Antipattern)
- SaltStack Syndic配置
- poj 3182 The Grove
- 单网卡多IP导致的socket connect 10060超时错误
- 深度RAMOS,把操作系统全部安装在内存上
- Socket编程实践(12) --UDP编程基础
- Fitnesse - Slim Tables
- linux设备驱动之字符设备驱动模型(1)
- C# -- FTP上传下载
- shell32.dll 控制网络
- python 创建二维数组
- python全栈开发 * 线程锁 Thread 模块 其他 * 180730
- python基础学习笔记(八)
- 【java】之常用四大线程池用法以及ThreadPoolExecutor详解
- 在Visual Studio中使用序列图描述对象之间的互动
- 高可用(HA)架构