Ambari-Metrics Monitor 启动失败ubuntu22
# 先看结论 运行成功
# 在看问题 启动失败
启动 ambari-metrics-monitor
时,运行期编译 psutil 失败,导致服务无法正常启动。
resource_management.core.exceptions.ExecutionFailed: Execution of '/usr/sbin/ambari-metrics-monitor --config /etc/ambari-metrics-monitor/conf start' returned 255.
ls: cannot access '/usr/lib/python2.6/site-packages/resource_monitoring/psutil/build': No such file or directory
Building psutil...
Traceback (most recent call last):
File "setup.py", line 17, in <module>
from distutils.core import setup, Extension
File "/usr/lib/python2.7/distutils/core.py", line 20, in <module>
from distutils.cmd import Command
File "/usr/lib/python2.7/distutils/cmd.py", line 11, in <module>
from distutils import util, dir_util, file_util, archive_util, dep_util
ImportError: cannot import name archive_util
Verifying Python version compatibility...
Using python /usr/bin/python2
Checking for previously running Metric Monitor...
/var/run/ambari-metrics-monitor/ambari-metrics-monitor.pid found with no process. Removing 609603...
Starting ambari-metrics-monitor
Verifying ambari-metrics-monitor process status with PID : 611498
Output of PID check :
ERROR: ambari-metrics-monitor start failed. For more details, see /var/log/ambari-metrics-monitor/ambari-metrics-monitor.out:
====================
--------------------------Building psutil--------------------------
----------------------Finished building psutil---------------------
Traceback (most recent call last):
File "/usr/lib/python2.6/site-packages/resource_monitoring/main.py", line 26, in <module>
from core.controller import Controller
File "/usr/lib/python2.6/site-packages/resource_monitoring/core/__init__.py", line 29, in <module>
for dir in os.walk(path).next()[1]:
StopIteration
====================
Monitor out at: /var/log/ambari-metrics-monitor/ambari-metrics-monitor.out
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
核心报错:
ImportError: cannot import name archive_util
/usr/lib/python2.7/distutils/
中缺少archive_util.py
# 修复步骤 最小闭环
# 1) 安装 Python2 及开发头文件(Ubuntu/Debian)
apt install -y python2 python2-minimal python2-dev
# 2) 下载官方 CPython 2.7.18 源码并解压
cd /opt/modules
wget https://ghfast.top/https://github.com/python/cpython/archive/refs/tags/v2.7.18.tar.gz
tar zxvf v2.7.18.tar.gz
cd cpython-2.7.18/Lib/
# 3) 回填 distutils 模块
cp -r distutils /usr/lib/python2.7/
# 4) 校验 archive_util 是否存在
ls /usr/lib/python2.7/distutils/archive_util.py
# 应该能看到文件
# 5) 测试导入是否成功(无报错即正常)
python2.7 -c "from distutils import archive_util"
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
复测
完成以上步骤后,重新启动 Ambari-Metrics Monitor:
ambari-metrics-monitor --config /etc/ambari-metrics-monitor/conf start
1
# 延伸参考
你可以参照本站整理的 编译指南 获取更多安装与环境适配细节。
- 01
- [/metrics/aggregated] — 聚合数据范围 检查点09-19
- 02
- [/metrics] — 反向分析接口参数 请求抓包09-17
- 03
- [/metrics] — 普通指标写入方法 POST09-17