• 【Kafka】ZooKeeper启动失败报错java.net.BindException: Address already in use: bind


    问题描述

    Kafka 2.8.1 ZooKeeper启动失败。

    zookeeper-server-start.bat ../../config/zookeeper.properties
    
    • 1
    [2023-09-04 18:21:49,497] INFO binding to port 0.0.0.0/0.0.0.0:2181 (org.apache.zookeeper.server.NIOServerCnxnFactory)
    [2023-09-04 18:21:49,498] ERROR Unexpected exception, exiting abnormally (org.apache.zookeeper.server.ZooKeeperServerMain)
    java.net.BindException: Address already in use: bind
            at java.base/sun.nio.ch.Net.bind0(Native Method)
            at java.base/sun.nio.ch.Net.bind(Net.java:555)
            at java.base/sun.nio.ch.ServerSocketChannelImpl.netBind(ServerSocketChannelImpl.java:337)
            at java.base/sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:294)
            at java.base/sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:89)
            at java.base/sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:81)
            at org.apache.zookeeper.server.NIOServerCnxnFactory.configure(NIOServerCnxnFactory.java:687)
            at org.apache.zookeeper.server.ZooKeeperServerMain.runFromConfig(ZooKeeperServerMain.java:144)
            at org.apache.zookeeper.server.ZooKeeperServerMain.initializeAndRun(ZooKeeperServerMain.java:107)
            at org.apache.zookeeper.server.ZooKeeperServerMain.main(ZooKeeperServerMain.java:65)
            at org.apache.zookeeper.server.quorum.QuorumPeerMain.initializeAndRun(QuorumPeerMain.java:128)
            at org.apache.zookeeper.server.quorum.QuorumPeerMain.main(QuorumPeerMain.java:82)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15

    原因分析

    2181端口被占用

    打开cmd。

    netstat -ano |findstr 2181
    
    • 1

    无结果返回,找不到占用2181端口的程序。


    解决方案

    修改config/zookeeper.properties

    找到:

    clientPort=2181
    
    • 1

    改为:

    clientPort=21810
    
    • 1

    重新启动ZooKeeper,启动成功。

    [2023-09-04 18:32:51,963] INFO binding to port 0.0.0.0/0.0.0.0:21810 (org.apache.zookeeper.server.NIOServerCnxnFactory)
    [2023-09-04 18:32:51,979] INFO zookeeper.snapshotSizeFactor = 0.33 (org.apache.zookeeper.server.ZKDatabase)
    [2023-09-04 18:32:51,981] INFO Reading snapshot \tmp\zookeeper\version-2\snapshot.0 (org.apache.zookeeper.server.persistence.FileSnap)
    [2023-09-04 18:32:51,988] INFO Snapshotting: 0x0 to \tmp\zookeeper\version-2\snapshot.0 (org.apache.zookeeper.server.persistence.FileTxnSnapLog)
    [2023-09-04 18:32:51,999] INFO PrepRequestProcessor (sid:0) started, reconfigEnabled=false (org.apache.zookeeper.server.PrepRequestProcessor)
    [2023-09-04 18:32:52,004] INFO Using checkIntervalMs=60000 maxPerMinute=10000 (org.apache.zookeeper.server.ContainerManager)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    记得修改config/server.properties,不然Kafka Server无法连接。

    找到:

    zookeeper.connect=localhost:2181
    
    • 1

    改为:

    zookeeper.connect=localhost:21810
    
    • 1

    补充说明

    在解决端口被占用的问题时,首先需要确认端口是否被占用,然后可以通过修改配置文件中的端口号来解决该问题。在修改端口号后,需要确保相关服务的配置也已经更新,以便系统能够正常连接。

  • 相关阅读:
    HIT 模式识别 手写汉字分类 Python实现
    服务器文件操作 ChannelSftp 的用法
    ssm和springboot整合
    流畅的Python读书笔记(二)序列:元组
    算法金 | 必会的机器学习评估指标
    Deep Learning for Geophysics综述阅读(未完)
    Spring Cloud Gateway整合OAuth2思路分享
    Docker安装Mysql
    深入理解计算机系统——Midterm Exam 2012
    SOAP接口对接
  • 原文地址:https://blog.csdn.net/qq_34988204/article/details/132675111