我正在尝试让jmx监视工作来监视一个测试kafka示例。
我有kafka(ches/kafka)通过boot2docker在docker中运行,但是我无法正确配置jmx监控。我做了一系列的故障排除,我知道kafka示例运行正常(消费者和生产者工作)。当我尝试使用简单的jmx工具(jconsole和jvisualvm)但两者都无法连接(连接不安全错误,连接失败)时,问题就出现了。
配置注意事项:我连接到192.168.59.103(在运行'boot2docker ip'时发现virtualbox ip),ches/kafka docker/kafka示例使用端口7203作为jmx\u端口(在kafka启动日志中确认)。使用jconsole,我连接到192.168.59.103:7203,也就是发生错误的时候。
感谢您的帮助。
2条答案
按热度按时间cnwbcb6i1#
kafka docker端口没有理由绑定到boot2docker vm中的同一端口,除非您指定它。
试着用
-p 7203:7203
强制端口1:1转发。crcmnpdw2#
为完整起见,以下是可行的解决方案:
我运行了ches/kafka docker映像,如下所示——请注意,jmx\u端口(7203)现在已适当发布:
另外,在kafka-run-class.sh(.bat for windows)中设置了以下环境
但我需要补充一条(感谢其中一位评论者指出这一点):
现在,要在boot2docker中运行ches/docker映像,您只需要设置一个可识别的环境变量(kafka\u jmx\u opts或kakfa\u opts)来添加附加项,现在就可以了。
谢谢你的帮助!