我有一台运行Apache Kafka(测试)的EC2服务器。它的端口9111用于JMX,并且EC2安全设置已更改以打开该端口。
我正在尝试在我的Mac上运行JConsole来读取此服务器的JMX指标,但是我收到了“安全连接失败”的消息,然后询问我是否要尝试不使用SSL。因此,我选择了不安全选项。然后我只得到“连接失败:重试?”错误。这次没有太多解释。出了什么问题?在Kafka的JXM配置中,安全连接和身份验证都被禁用了。
有任何线索/见解吗?
我有一台运行Apache Kafka(测试)的EC2服务器。它的端口9111用于JMX,并且EC2安全设置已更改以打开该端口。
我正在尝试在我的Mac上运行JConsole来读取此服务器的JMX指标,但是我收到了“安全连接失败”的消息,然后询问我是否要尝试不使用SSL。因此,我选择了不安全选项。然后我只得到“连接失败:重试?”错误。这次没有太多解释。出了什么问题?在Kafka的JXM配置中,安全连接和身份验证都被禁用了。
有任何线索/见解吗?
原来当你在EC2上运行Java进程并且想要访问它的JMX时,你需要在运行Java进程时指定"-Djava.net.preferIPv4Stack=true"。此外,我还需要打开所有端口,因为RMI会使用不同的端口。所以我修复了RMI将要使用的端口。
netstat -plunt
这里的一个选项是使用以下启动参数强制JVM使用固定端口进行RMI
-Dcom.sun.management.jmxremote.rmi.port=<some available port>
选项。然后您只需打开该特定端口。如果选择将Kafka解决方案docker化,这也非常有效。