0%

Ambari 远程 Debug 调试

本文主要介绍使用 IDE 分别进行 Ambari server 和 Ambari agent 远程 Debug 调试的方法。

Ambari server 远程 debug

配置Remote

点击“Edit Configurations…”,点击“+”号,选择“Remote”,然后配置“Name”和“Host”,“Port”默认为 5005 即可。

开启 debug 模式

先停止 ambari server,然后启动时开启 debug 模式

1
2
ambari-server stop
ambari-server start --debug

打断点

示例断点,
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 启动即可进行远程调试。

参考资料