win10系統啓動zookeeper,端口2181被佔用Address already in use: bind

1、啓動zookeeper,但是報錯,端口被佔用;

2020-04-02 09:56:21,701 [myid:] - ERROR [main:ZooKeeperServerMain@90] - Unexpected exception, exiting abnormally java.net.BindException: Address already in use: bind
        at sun.nio.ch.Net.bind0(Native Method)
        at sun.nio.ch.Net.bind(Net.java:433)
        at sun.nio.ch.Net.bind(Net.java:425)
        at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:223)
        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:676)
        at org.apache.zookeeper.server.ZooKeeperServerMain.runFromConfig(ZooKeeperServerMain.java:158)
        at org.apache.zookeeper.server.ZooKeeperServerMain.initializeAndRun(ZooKeeperServerMain:112)
        at org.apache.zookeeper.server.ZooKeeperServerMain.main(ZooKeeperServerMain.java:67)
        at org.apache.zookeeper.server.quorum.QuorumPeerMain.initializeAndRun(QuorumPeerMain.java:140)
        at org.apache.zookeeper.server.quorum.QuorumPeerMain.main(QuorumPeerMain.java:90)
2020-04-02 09:56:21,707 [myid:] - INFO  [main:ZKAuditProvider@42] - ZooKeeper audit is disabled.
2020-04-02 09:56:21,708 [myid:] - ERROR [main:ServiceUtils@42] - Exiting JVM with code 1Unexpected 

2、通過cmd查詢端口,命令:netstat -ano | findstr 2181    發現沒有被佔用

3、看了很多方法都不行,後來才發現。使用命令 netsh interface ipv4 show excludedportrange protocol=tcp,   這個是查詢windows10下面的Hyper-V的端口保留的TCP範圍,結果顯示:端口2181Hyper-V給保留了

 

兩種解決方案:

1、修改端口:配置文件將zookeeper的端口改爲高位端口,比如21810  。

2、關閉Hyper-V。使用默認端口   操作如下:控制面板--程序---程序和功能---啓動或關閉windows功能,去掉對號

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章