阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

解决Ganglia增加Python模块后启动问题的过程

118次阅读
没有评论

共计 2232 个字符,预计需要花费 6 分钟才能阅读完成。

最近增加 Ganglia 的 Python 模块后,发现 Ganglia 官方源码包提供的 gmond.init 文件不好用了。

使用的 Python 是自己编译的,如果 Python 是系统 rpm 包安装的就没有这个问题了。

比如启动 gmond 服务,提示成功。但 ps 下却没有 gmond 的进程。于是研究了下这个 gmond.init 文件。

service gmond stop  倒是没有什么问题,手动执行 gmond 命令执行也没有问题,关键在于 start 参数,所以解决问题的代码,就主要是下面几行了:

#!/bin/sh
#
# chkconfig: 2345 70 40
# description: gmond startup script
#
GMOND=/usr/sbin/gmond
# TMPDIR set to SysV IPC ramdrive to avoid include processing failures
TMPDIR=/dev/shm
export TMPDIR
. /etc/rc.d/init.d/functions
RETVAL=0
case “$1” in
start)
echo -n “Starting GANGLIA gmond: “
[-f $GMOND] || exit 1
daemon $GMOND
RETVAL=$?
echo
[$RETVAL -eq 0] && touch /var/lock/subsys/gmond
;

由于 Python 是自己编译的,所以我想问题很大可能是出现在环境变量。于是加了两行代码,加完后如下:

  1. #!/bin/sh
  2. #
  3. # chkconfig: 2345 70 40
  4. # description: gmond startup script
  5. #
  6. GMOND=/usr/sbin/gmond
  7. # TMPDIR set to SysV IPC ramdrive to avoid include processing failures
  8. TMPDIR=/dev/shm
  9. export TMPDIR
  10. TPATH=$PATH
  11. . /etc/rc.d/init.d/functions
  12. PATH=$TPATH
  13. RETVAL=0
  14. case “$1” in
  15.    start)
  16.       echo n “Starting GANGLIA gmond: “
  17.       [ f $GMOND ] || exit 1
  18.       daemon $GMOND
  19.       RETVAL=$?
  20.       echo
  21.       [ $RETVAL eq 0 ] && touch /var/lock/subsys/gmond
  22.         ;

改完后的代码使用 /etc/init.d/gmond 执行没有任何问题,所以能够很肯定是环境变量 PATH 的问题了。前文说过我的 python 是自己编译的, 为了不影响 yum 的时候,我软连接到了 /usr/local/bin/python, 而使用 service gmond start 去执行的时候 PATH 变量是 service 脚本定义的,而并非如何当前 shell 用户自己定义的,所以我又改动了代码如下就没问题了:

  1. #!/bin/sh
  2. #
  3. # chkconfig: 2345 70 40
  4. # description: gmond startup script
  5. #
  6. GMOND=/usr/sbin/gmond
  7. # TMPDIR set to SysV IPC ramdrive to avoid include processing failures
  8. TMPDIR=/dev/shm
  9. export TMPDIR
  10. . /etc/rc.d/init.d/functions
  11. PATH=/usr/local/bin:$PATH
  12. RETVAL=0
  13. case “$1” in
  14.    start)
  15.       echo n “Starting GANGLIA gmond: “
  16.       [ f $GMOND ] || exit 1
  17.       daemon $GMOND
  18.       RETVAL=$?
  19.       echo
  20.       [ $RETVAL eq 0 ] && touch /var/lock/subsys/gmond
  21.         ;

使用 Ganglia 监控 Hadoop 集群 http://www.linuxidc.com/Linux/2012-05/61349.htm

在 VMware Workstation 的 Ubuntu 下安装和配置 Hadoop 与 Ganglia http://www.linuxidc.com/Linux/2013-06/85856.htm

Ganglia 安装部署之一建立 Grid http://www.linuxidc.com/Linux/2013-05/83673.htm

Ganglia 极其简单安装教程 yum 版 http://www.linuxidc.com/Linux/2012-12/76536.htm

Ganglia 快速开始向导(翻译自官方 wiki)http://www.linuxidc.com/Linux/2013-11/92747.htm

CentOS 集群上安装 Ganglia-3.6.0 监控 Hadoop-2.2.0 和 HBase-0.96.0 http://www.linuxidc.com/Linux/2014-01/95804.htm

Ganglia 在 CentOS 6.5 的安装 http://www.linuxidc.com/Linux/2014-05/102024.htm

在 Ubuntu 14.04 Server 上安装 Ganglia http://www.linuxidc.com/Linux/2014-08/105838.htm

本文永久更新链接地址:http://www.linuxidc.com/Linux/2015-08/121286.htm

正文完
星哥说事-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-20发表,共计2232字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中