共计 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 是自己编译的,所以我想问题很大可能是出现在环境变量。于是加了两行代码,加完后如下:
- #!/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
- TPATH=$PATH
- . /etc/rc.d/init.d/functions
- PATH=$TPATH
- 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
- ;
改完后的代码使用 /etc/init.d/gmond 执行没有任何问题,所以能够很肯定是环境变量 PATH 的问题了。前文说过我的 python 是自己编译的, 为了不影响 yum 的时候,我软连接到了 /usr/local/bin/python, 而使用 service gmond start 去执行的时候 PATH 变量是 service 脚本定义的,而并非如何当前 shell 用户自己定义的,所以我又改动了代码如下就没问题了:
- #!/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
- PATH=/usr/local/bin:$PATH
- 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
- ;
使用 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