kafka中额外的随机端口是什么以及如何将其设置为绑定到localhost

问题描述 投票:0回答:2

这种情况发生在主机和docker镜像上,除了著名的9092端口之外,kafka还监听另一个动态端口。

我正在使用 /usr/local/kafka/bin/kafka-server-start.sh 来运行 kafka。

ps -ef |grep kafka |grep -v grep |awk '{print $2}'
15580

netstat -tnpl |grep 15580

tcp6 0 0 :::37023 ::: LISTEN 15580/java*
tcp6 0 0 192.168.64.18:9092 :::* LISTEN 15580/java

上面的“37023”端口是什么?如何禁用它?它可以绑定到“localhost”吗?

apache-kafka port
2个回答
0
投票

实际的Kafka进程默认只监听9092端口。

您可以运行

lsof -i :37023
或您获得的任何其他动态端口吗?这将获得正在该 TCP 端口上侦听的进程的 PID,并且可能会指出罪魁祸首。


0
投票

它是 Kafka JMX 端口。您可以通过修改

kafka_2.13-3.6.0/bin/kafka-server-start.sh
并在最后一行之前添加此新行来解决它
exec $base_dir/kafka-run-class.sh $EXTRA_ARGS kafka.Kafka "$@"
:

export JMX_PORT=${JMX_PORT:-9000}
export KAFKA_JMX_OPTS="-Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.rmi.port=$JMX_PORT -Dcom.sun.management.jmxremote.port=$JMX_PORT -Dcom.sun.management.jmxremote=true -Dcom.sun.management.jmxremote.host=127.0.0.1 -Djava.rmi.server.hostname=127.0.0.1 -Djava.net.preferIPv4Stack=true"
© www.soinside.com 2019 - 2024. All rights reserved.