您的位置:首页 > 运维架构 > Linux

setup and configure ganglia on CentOS

2017-03-23 17:41 309 查看
http://imyin.xyz/2017/03/23/ganglia-on-CentOS/


今天介绍一下如何在CentOS服务器中部署Ganglia

至于什么是ganglia,就不在这里装逼赘述了,给个官网地址


预装软件

安装ganglia需要不少预装软件,最好自己在本地配置一个yum源,以方便安装。yum源就不在这里描述如何配置了,比较简单,看这里,写的比较全的一篇
yum -y install apr-devel apr-util check-devel cairo-devel pango-devel libxml2-devel rpmbuild glib2-devel dbus-devel freetype-devel fontconfig-devel gcc-c++ expat-devel python-devel libXrender-devel

装完以上这些还不算完,还有confuse需要用源码安装,rrdtool可以用源码或者rpm包来安装。pcre用源码安装。


部署


创建用户

通常为了和其他服务区分开来,推荐在这里创建一个ganglia用户
groupadd ganglia
useradd -g ganglia ganglia


创建软件安装目录

mkdir /usr/local/src
cd /usr/local/src


源码安装confuse

tar -xzvf confuse-2.7.tar.gz
cd confuse-2.7
./configure CFLAGS=-fPIC --disable-nls
make -j8
make install


安装 rdtool

rpm -ivh rrdtool-1.3.8-6.el6.x86_64.rpm
rpm -ivh rrdtool-devel-1.3.8-6.el6.x86_64.rpm


安装 pcre

tar zxpf pcre-8.12.tar.gz
cd pcre-8.12
./configure
make
make insta


安装 ganglia

cd /usr/local/src
tar zxpf ganglia-3.6.1.tar.gz
cd ganglia-3.6.1
./configure --prefix=/usr/local/ganglia --with-gmetad --enable-gexec --with-python=/usr/bin --with-librrd=/usr/bin
make -j8
make install


注意,当出现以下图像显示时,才表示你configure成功,如果没有configure成功,根据相关提示,安装相关依赖即可。

In [1]:

from IPython.display import Image
Image('configured.PNG')


Out[1]:


配置 ganglia


创建 ganglia 的配置目录

mkdir /etc/ganglia


复制 gmetad 的配置文件样本

cp gmetad/gmetad.conf /etc/ganglia/


构建 gmond 的初始配置

gmond -t | tee /etc/ganglia/gmond.conf


Copy the initial startup script, change the binary and config path and enable it on boot:

cp gmetad/gmetad.init /etc/rc.d/init.d/gmetad
cp gmond/gmond.init /etc/rc.d/init.d/gmond
vi /etc/init.d/gmetad

#GMETAD=/usr/sbin/gmetad
GMETAD=/usr/local/sbin/gmetad
#daemon $GMETAD
daemon $GMETAD -c /etc/ganglia/gmetad.conf

vi /etc/init.d/gmond

#GMOND=/usr/sbin/gmond
GMOND=/usr/local/sbin/gmond
# daemon $GMOND
daemon $GMOND -c /etc/ganglia/gmond.conf

chkconfig --add gmetad
chkconfig --add gmond


为rrdtool创建存储目录,并确保有写入权限

mkdir -p /var/lib/ganglia/rrds
chown ganglia:ganglia /var/lib/ganglia/rrds


修改 gmetad 的配置文件参数

vi /etc/ganglia/gmetad.conf

data_source "Ganglia Test Setup" 60 FQDN Name of Ganglia Server:8649
setuid_username "ganglia"
case_sensitive_hostnames 0

注意:将“FQDN Name of Ganglia Server”替换为你的DNS服务名称


修改 gmond 的配置文件参数

vi /etc/ganglia/gmond.conf

user = ganglia

cluster {
name = "Ganglia Test Setup"
owner = "ganglia"
latlong = "unspecified"
url = "unspecified"
}

udp_send_channel {
host = FQDN Name of Ganglia Server
port = 8649
ttl = 1
}

udp_recv_channel {
port = 8649
}

tcp_accept_channel {
port = 8649
}

注意:将“FQDN Name of Ganglia Server”替换为你的DNS服务名称


复制 python 依赖

mkdir -p /usr/local/lib64/ganglia/python_modules
cp ./gmond/python_modules/*/*.py /usr/local/lib64/ganglia/python_modules

至此,有关gmond、gmetad的配置已经完成,启动它们的服务:
service gmond start
service gmetad start



通过以下命令来查看服务是否启动正常

ps -ef | grep -v grep | grep gm
netstat -plane | egrep 'gmon|gme'

会看到一下信息,表示服务正在运行:
ganglia  40661     1  0 11:11 ?        00:00:02 /usr/local/sbin/gmetad -c /etc/ganglia/gmetad.conf
ganglia  41371     1  0 12:52 ?        00:00:01 /usr/local/sbin/gmond -c /etc/ganglia/gmond.conf
#############
tcp        0      0 0.0.0.0:8651                0.0.0.0:*                   LISTEN      506        10953496   40661/gmetad
tcp        0      0 0.0.0.0:8652                0.0.0.0:*                   LISTEN      506        10953497   40661/gmetad
tcp        0      0 0.0.0.0:8649                0.0.0.0:*                   LISTEN      506        10971994   41371/gmond
udp        0      0 172.30.4.252:47764          172.30.4.252:8649           ESTABLISHED 506        10971996   41371/gmond
udp        0      0 0.0.0.0:8649                0.0.0.0:*                               506        10971993   41371/gmond
unix  2      [ ]         DGRAM                    10971950 41371/gmond



部署 ganglia web


安装 httpd、php

使用yum安装会显得非常简单:
yum -y install httpd php


安装 ganglia-web

cd /var/local/src
tar zxpf ganglia-web-3.6.2.tar.gz
cd ganglia-web-3.6.2


修改另外配置文件

vi conf.php

$conf['gweb_confdir'] = "/opt/app/ganglia/ganglia-web";
$conf['gmetad_root'] = "/opt/app/ganglia";
$conf['rrds'] = "${conf['gmetad_root']}/rrds";

vi header.php

ini_set('date.timezone', 'PRC');

cd ./dwoo
mkdir  cache compiled
chmod  777  cache
chmod  777  compiled


复制到httpd

cd ../
mkdir /var/www/html/ganglia
cp -r ./* /var/www/html/ganglia/


启动服务

service httpd start

如果想添加节点到监控集群中,只需在机器中按照上面的步骤部署gmond服务即可
之后就可以通过访问
http://(your host)/ganglia
查看监控界面:

In [2]:

Image('ganglia-web.PNG')


Out[2]:

要启用发送到Ganglia统计信息收集守护程序的Hadoop指标,您需要在其中添加以下选项
*.sink.ganglia.class=org.apache.hadoop.metrics2.sink.ganglia.GangliaSink31
*.sink.ganglia.period=10
*.sink.ganglia.supportsparse=true
*.sink.ganglia.slope=jvm.metrics.gcCount=zero,jvm.metrics.memHeapUsedM=both
*.sink.ganglia.dmax=jvm.metrics.threadsBlocked=70,jvm

另外,你还需要指定sinks 到你的ganglia采集服务器中
namenode.sink.ganglia.servers=gangliahost:8649
datanode.sink.ganglia.servers=gangliahost:8649
jobtracker.sink.ganglia.servers=gangliahost:8649
tasktracker.sink.ganglia.servers=gangliahost:8649
maptask.sink.ganglia.servers=gangliahost:8649
reducetask.sink.ganglia.servers=gangliahost:8649



Bingo!


参考

[1] https://sachinsharm.wordpress.com/2013/08/17/setup-and-configure-ganglia-3-6-on-centosrhel-6-3/
[2] https://www.packtpub.com/mapt/book/Big-Data-and-Business-Intelligence/9781783281718/5/ch05lvl1sec29/Monitoring+Hadoop+with+Ganglia
[3] http://ganglia.sourceforge.net/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: