我正在尝试从Windows命令行中启动Zookeeper实例。无论我尝试使用哪个端口,我都会收到错误消息
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:90)
at org.apache.zookeeper.server.ZooKeeperServerMain.runFromConfig(ZooKeeperServerMain.java:120)
at org.apache.zookeeper.server.ZooKeeperServerMain.initializeAndRun(ZooKeeperServerMain.java:89)
at org.apache.zookeeper.server.ZooKeeperServerMain.main(ZooKeeperServerMain.java:55)
at org.apache.zookeeper.server.quorum.QuorumPeerMain.initializeAndRun(QuorumPeerMain.java:119)
at org.apache.zookeeper.server.quorum.QuorumPeerMain.main(QuorumPeerMain.java:81)
我尝试了所有开放的疯狂端口类型,例如2188、2180等。
这些端口均未显示在netstat命令上。这是Windows 10特有的JDK问题吗?
谢谢
禁用您的防病毒软件,并确保您尚未在这些端口上进行监听。
尝试一下:
检查并停止所有Kafka和Zookeeper运行实例。
通过更改config/zookeeper.properties
来修改clientPort
(对于Zookeeper):
[clientPort=2181
到其他端口,例如clientPort=2188
通过更改config/server.properties
来修改zookeeper.connect
(对于Kafka):
[zookeeper.connect=localhost:2181
到其他端口,例如zookeeper.connect=localhost:2188
通过运行命令重新启动服务器:
首先,开始Zookeeper
:bin/zookeeper-server-start.sh config/zookeeper.properties
然后,开始Kafka
:bin/kafka-server-start.sh config/server.properties
获得更多帮助->
请参阅下面给出的文档:
-> https://kafka.apache.org/quickstart
-> https://zookeeper.apache.org/doc/current/zookeeperStarted.html
注意:如果您有Zookeeper集群,则对所有集群保留不同的clientPort
。
例如:如果您有三个Zookeeper实例,则必须保留三个不同的clientPort(如Zookeeper 1 - 2188, Zookeeper 2 - 2189, Zookeeper 3 - 2190
,并同时更新kafka服务器。