setup and configure ganglia on CentOS

前端之家收集整理的这篇文章主要介绍了setup and configure ganglia on CentOS前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

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!

猜你在找的CentOS相关文章