对于我即将到来的学士论文,我想开发一个工具,从Apache Flink收集系统和应用程序数据,并将这些数据以某种“事件”发送到另一个系统。此工具将安装在Flink作业和任务管理器节点上。除了像dstat这样的linux系统实用程序的数据,我想收集JMX数据。
我的问题是,我无法弄清楚如何通过使用端口到Flinks jobmanager通过远程JMX连接进行连接。虽然收集器将在同一台机器上,但我真的试图避免使用--javaagent来访问Flink的JVM的JMX数据。
另一个问题是,我有一个基于https://github.com/apache/flink/tree/master/flink-contrib/docker-flink的本地docker设置并更新到flink-1.0.2,我无法通过jconsole连接,因为我不知道如何“打开”一个JMX远程端口为工作和任务管理员。
有没有办法实现这个目标?
提前致谢,任何想法都非常赞赏。
答案 0 :(得分:6)
解决!
我需要添加env.java.opts: -Dcom.sun.management.jmxremote
-Dcom.sun.management.jmxremote.port=9999
-Dcom.sun.management.jmxremote.authenticate=false
-Dcom.sun.management.jmxremote.ssl=false
在flink-conf.yaml。
不可以通过jconsole连接jobmanager。