windows10 启动zookeeper,报端口被占用,但是查询没有占用

场景

启动zookeeper,但是报 Unexpected exception, exiting abnormally java.net.BindException: Address already in use: bind

解决之路

  1. 使用命令netstat -ano|findstr 2181,但是提示为空。说明端口没有被占用;
  2. 使用命令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     *
    
    * - 管理的端口排除。
    

从命令的结果可以看出,端口2181Hyper-V给保留了。

解决方案

配置文件将zookeeper的端口改为高位端口,比如21810即可解决。

你可能感兴趣的:(Java学习系列,大数据,问题修复记录,奇葩问题,zookeeper,Hyper-V,windows10,端口占用)