远程调试Ambari Metrics System

    xiaoxiao2021-03-25  166

      Ambari Metric System(以下简称AMS)作为Ambari中用作监控的独立的模块,其核心即是一个TimelineServer,其具有自己的内在工作机制,类似一个WEB服务。如下图所示,是其在Ambari中的源码结构:         因此针对Ambari Server 的远程调试,并不能同时调试AMS,毕竟它们的端口也不相同。如果想调试AMS,则必须要在AMS的启动参数中加上对应的调试说明。总结下AMS是如何启动的,首先在web界面点击启动,则Ambari Server会向agent发送命令,调用AMS的启动脚本,看一下这个启动脚本。

    vi /var/lib/ambari-agent/cache/common-services/AMBARI_METRICS/0.1.0/package/scripts/metrics_collector.py

      其中内容如下图所示:

      透过其启动脚本中可以看到,发现其最终是执行 /usr/sbin/ambari-metrics-collector 这个脚本start的,那么编辑这个脚本找到java的启动server的命令,添加调试参数:      -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8081      添加后即可得到如下图所示:      以上一系列操作后,去Server端重启一下metrics,基本就可调试了,再然后就是在IDE中配置相关的调试参数,如下图添加的远程调试应用所示:      填写上面指定的8081端口(注意:指定的端口可能被占用),如此,接下来便可以通过IDEA进行调试了。

    转载请注明原文地址: https://ju.6miu.com/read-4841.html

    最新回复(0)