场景
启动zookeeper,但是报 Unexpected exception, exiting abnormally java.net.BindException: Address already in use: bind
解决之路
- 使用命令
netstat -ano|findstr 2181
,但是提示为空。说明端口没有被占用; - 使用命令
netsh interface ipv4 show excludedportrange protocol=tcp
,这个是查询windows10下面的Hyper-V
的端口保留的TCP范围,结果显示如下:协议 tcp 端口排除范围 开始端口 结束端口 ---------- -------- 1604 1703 1704 1803 1804 1903 1904 2003 2004 2103 2180 2279 2280 2379 2380 2479 2480 2579 2580 2679 2680 2779 2780 2879 2915 3014 50000 50059 * * - 管理的端口排除。
从命令的结果可以看出,端口2181
被Hyper-V
给保留了。
解决方案
配置文件将zookeeper
的端口改为高位端口,比如21810
即可解决。