将kafka配置为仅在127.0.0.1上公开jmx

wqsoz72f  于 2021-06-07  发布在  Kafka
关注(0)|答案(2)|浏览(605)

我正在努力将Kafka的jmx配置为只在 localhost . 默认情况下,当我启动kafka时,它会公开三个端口,而其中两个端口会自动绑定到 0.0.0.0 意味着每个人都可以使用。
我设法把经纪人自己和 127.0.0.1 (因为我只在本地需要),但是jmx端口真的让我头疼。
我必须定义以下环境变量:

export JMX_PORT=${JMX_PORT:-9999}
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 -Djava.rmi.server.hostname=127.0.0.1 -Djava.net.preferIPv4Stack=true"

如果现在查看绑定的端口/IP,我会看到:

$ netstat -tulpn | grep 9864
tcp        0      0 0.0.0.0:9999            0.0.0.0:*               LISTEN      9864/java
tcp        0      0 0.0.0.0:44895           0.0.0.0:*               LISTEN      9864/java
tcp        0      0 127.0.0.1:9092          0.0.0.0:*               LISTEN      9864/java

意味着jmx会监听 0.0.0.0 ,甚至还有另一个开放的港口 44895 我不知道它的目的。
我想实现的是Kafka港口只在 127.0.0.1 . 有人能给个提示吗?提前谢谢!
编辑:
我通过添加 -Dcom.sun.management.jmxremote.host=localhost ,但仍有一个开放端口暴露在 0.0.0.0 :

$ netstat -tulpn | grep 12789
tcp        0      0 127.0.0.1:9999          0.0.0.0:*               LISTEN      12789/java
tcp        0      0 0.0.0.0:43513           0.0.0.0:*               LISTEN      12789/java
tcp        0      0 127.0.0.1:9092          0.0.0.0:*               LISTEN      12789/java
jdgnovmf

jdgnovmf1#

我刚刚设法使kafka只侦听定义的代理端口,并完全禁用jmx:

export KAFKA_JMX_OPTS="-Djava.rmi.server.hostname=localhost -Djava.net.preferIPv4Stack=true"

在ubuntu上启动新的kafka 1.1.0代理时,我最初看到两个开放端口:

$ netstat -tulpn | grep 19894
tcp6       0      0 :::40487                :::*                    LISTEN      19894/java
tcp6       0      0 127.0.0.1:9092          :::*                    LISTEN      19894/java

kafka-server-start.sh 文件,第二个端口不再打开:

$ netstat -tulpn | grep :9092
tcp        0      0 127.0.0.1:9092          0.0.0.0:*               LISTEN      20345/java
$ netstat -tulpn | grep 20345
tcp        0      0 127.0.0.1:9092          0.0.0.0:*               LISTEN      20345/java
zbwhf8kr

zbwhf8kr2#

只是

export KAFKA_JMX_OPTS="-Djava.rmi.server.hostname=localhost"

够了吗

相关问题