环境
Linux version 4.18.0-147.5.2.1.h579.eulerosv2r10.x86_64 (abuild@szxrtosci10000) (gcc version 7.3.0 (GCC)) #1 SMP Sat Jul 31 09:58:46 UTC 2021
zookeeper 3.6.3
问题
使用netstat -tunlp命令发现,除了zookeeper占用的2182端口以外还有一个随机端口和8080端口启用了。
原因
1、zookeeper启动后默认会开一个端口用来支持jmx调用,所以导致开启了非预期的随机端口。
2、zookeeper 中有个内嵌的管理控制台是通过jetty启动,会占用8080 端口。
解决方案
在生产环境中端口通常都是受管制的,没有用的端口需要关闭。
随机端口
在zkServer.sh的开头部分添加如下内容:
export JMXDISABLE=true
8080端口
在启动脚本中增加
-Dzookeeper.admin.enableServer=false
添加后,重新启动zookeeper
./zkServer.sh restart