如何配置Carbon守护进程强制使用/usr/bin/python3.6版本运行
RHEL7 环境强制Carbon守护进程使用/usr/bin/python3.6运行方案
第一步:彻底清理错误Python2版本安装的残留文件
之前重装不生效是因为Python2安装时生成的库文件、可执行脚本、服务配置没有被完全清理,按顺序执行以下操作:
- 停掉所有正在运行的Carbon相关进程:
pkill -9 -f carbon-cache.py pkill -9 -f carbon-relay.py pkill -9 -f carbon-aggregator.py
- 删除Python2站点包目录下的Carbon相关依赖:
rm -rf /usr/lib/python2.7/site-packages/carbon* rm -rf /usr/lib/python2.7/site-packages/graphite*
- 删除系统路径下残留的Carbon启动脚本、服务配置:
rm -f /etc/init.d/carbon-* rm -f /usr/bin/carbon-*.py rm -f /usr/lib/systemd/system/carbon-*.service systemctl daemon-reload
- 清空shell命令路径缓存,避免命中旧的可执行文件:
hash -r
第二步:使用Python3.6重新安装Carbon
- 进入Carbon源码解压目录,先清理之前编译生成的临时缓存:
/usr/bin/python3.6 setup.py clean --all
- 执行安装,指定脚本安装到系统可执行路径:
/usr/bin/python3.6 setup.py install --install-scripts=/usr/bin/
- 强制修正所有Carbon启动脚本的解释器路径,避免shebang指向错误版本:
sed -i '1s@^#!.*python.*@#!/usr/bin/python3.6@' /usr/bin/carbon-*.py chmod +x /usr/bin/carbon-*.py
第三步:验证运行状态
- 手动启动carbon-cache服务:
/usr/bin/carbon-cache.py start
- 检查进程启动路径,确认使用的是Python3.6:
ps aux | grep carbon-cache
输出的启动命令中如果显示/usr/bin/python3.6 /usr/bin/carbon-cache.py start即为配置成功。后续如果需要配置开机自启,直接在init.d脚本或systemd服务文件中写死上述启动命令即可,不要依赖默认的python软链接。
注意:如果安装后提示Python3依赖缺失,直接用pip3.6安装对应依赖包即可,不要用默认的pip(对应Python2版本)。
内容的提问来源于stack exchange,提问作者itinneed2022_1
相关产品推荐
相关产品推荐

