本文主要介绍使用 IDE 分别进行 Ambari server 和 Ambari agent 远程 Debug 调试的方法。
Ambari server 远程 debug
配置Remote
点击“Edit Configurations…”,点击“+”号,选择“Remote”,然后配置“Name”和“Host”,“Port”默认为 5005 即可。
开启 debug 模式
先停止 ambari server,然后启动时开启 debug 模式
1 | ambari-server stop |
打断点
示例断点,
在 org.apache.ambari.server.controller.internal.ClusterStackVersionResourceProvider
类中打如下断点
Debug 调试
然后在 Idea 中点击 debug 运行,在 Amabri 界面刷新页面,进入断点即可进行 debug 调试。
Ambari-agent 远程 debug
首先使用 PyCharm 单独打开 ambari-agent 模块
添加 Python Interpreter
依次点击“File” —— “Settings…”,在“Project:ambari-agent”中点击右侧齿轮,选择“Add…”
在弹出的“Add Pyhton Interpreter”中点击“SSH Interpreter”,然后配置源端 Ambari agent 所在主机的“Host”和“Username”,端口默认为 22。
点击“Next”后填写主机登录密码
然后配置远程 Python Interpreter、代码同步路径(左边是本地代码路径,右边是服务器代码路径),如果勾选“Automatically upload project files to the server”则会将本地代码同步到远程服务器。
设置好后的效果
添加 configuration
点击“Add Configuration…”
点击“+”号添加 Python
分别设置如下红框中的内容
- 本地启动脚本路径 Script path:本地 main.py 的路径
- 环境变量 Environment variables: PYTHONUNBUFFERED=1;PYTHONPATH=/usr/lib/ambari-agent/lib:${PYTHONPATH:~}
- Python interpreter:选择刚配置的 Python Interpreter
- Working directory: Ambari agent 所在的文件夹目录
debug 调试
在配置远程调试的节点上停止 agent
1 | ambari-agent stop |
打断点,debug 启动即可进行远程调试。
参考资料
IDEA远程调试Ambari Server - 微信-大数据从业者 - 博客园
https://www.cnblogs.com/felixzh/p/11132735.html利用pycharm 远程调试ambari agent - 个人文章 - SegmentFault 思否
https://segmentfault.com/a/1190000022460732