Hadoop集群中部署Ganglia分布式监控系统
2015-05-13 11:32
281 查看
关于ganglia
Ganglia主要是用来监控系统性能。比如:CPU 、Memory、硬盘利用率, I/O负载、网络流量情况等。Ganglia通过图形化的方式展示每个节点的状态信息,这对合理调整、分配系统资源,提高系统整体性能起到重要作用。Ganglia包含三个核心组件:gmond、gmetad、ganglia-web。①Gmond组件
Gmond组件部署于集群中各个被监控的节点。其主要功能是从操作系统或指定的主机收集状态信息。其收集主机状态信息的方式灵活,状态信息均以XML格式进行传输。
②Gmetad组件
Gmetad组件可以部署于集群中的某一节点,也可以部署于集群外的某一专门服务器。其主要功能是周期性地从指定的Gmond组件或其他Gmetad组件拉取数据,并将拉取的数据存储在本地数据库。这些存储的状态信息供Ganglia-Web组件使用。
③Ganglia-Web组件
Ganglia-Web组件和Gmetad组件须部署于同一节点,它通过数据库轮询的方式从Gmetad组件中获取状态信息,并以web形式图形化地展示各个节点的状态信息。
ganglia安装规划和需要的资源
①实验环境Host name | IP | OS | service |
---|---|---|---|
Master | 222.31.81.17 | CentOS 6.4 | 监控服务主节点 |
Slave1 | 222.31.81.36 | CentOS 6.4 | 被监控从节点 |
Slave2 | 222.31.81.34 | CentOS 6.4 | 被监控从节点 |
Slave3 | 222.31.81.9 | CentOS 6.4 | 被监控从节点 |
确认防火墙iptables关闭。(service iptables stop)
确认SELinux关闭。(setenforce 0 )
②安装规划
Ganglia监控服务的主节点需要安装:
ganglia
ganglia-web
php
apache
Ganglia被监控从节点需要安装:
ganglia
③需要的软件
confuse-2.7
httpd-2.2.23
php-5.4.10
ganglia-3.6.0
rrdtool-1.4.7
ganglia-web-3.5.10
④安装依赖(全部的节点都需要配置)
使用yum安装的相关依赖
yum install check-devel cairo-devel rpmbuild glib2-devel dbus-devel freetype-devel fontconfig-devel gcc-c++ expat-devel
yum install libxm* yum install apr* yum install pcre* yum install python* yum install perl-ExtUtils-MakeMaker yum install pang*
手动安装confuse
tar -zxvf confuse-2.7.tar.gz ./confuse-2.7/configure CFLAGS=-fPIC --disable-nls ./confuse-2.7/make&& make install
手动安装rrdtool
tar -zxvf rrdtool-1.4.6.tar.gz ./rrdtool-1.4.6/configure --prefix=/usr ./rrdtool-1.4.6/make&& make install
监控节点安装
①安装gangliatar –xzvf ganglia-3.6.0.tar.gz cd ganglia-3.60 ./configure --prefix=/usr/local/ganglia --with-gmetad --enable-gexec --with-python –with-librrd=/usr/bin make && make install
②安装ganglia-web
tar -zvxf ganglia-web-3.5.10.tar.gz cp ganglia-web-3.5.10 /home/gangliaInstall/ganglia –rf cd /gangliaInstall/ganglia/ganglia-web-3.5.10 cp conf_default.php conf.php
修改conf.php的信息
vi conf.php
#$conf['gweb_confdir'] = "/var/lib/ganglia-web"; //注释掉 $conf['gweb_confdir'] = "/home /gangliaInstall/ganglia/ganglia-web-3.5.10"; //ganglia-web的安装地址 #$conf['gmetad_root'] = "/var/lib/ganglia"; //注释掉 $conf['gmetad_root'] = "/home /gangliaInstall/ganglia"; //ganglia的安装地址
修改header.php信息
vi header.php
<?php session_start(); ini_set('date.timezone', 'PRC'); //添加,-修改时区为本地时区 if (isset($_GET['date_only'])) { $d = date("r"); echo $d; exit(0); }
建立必要文件夹并且更改权限
cd /home/gangliaInstall/ganglia/ganglia-web-3.5.10/dwoo mkdir cache chmod 777 cache mkdir compiled chmod 777 compiled
③安装apache
tar –xzvf httpd-2.2.23.tar.gz cd httpd-2.2.23/srclib cd apr ./configure --prefix=/usr/local/apr make && make install cd .. cd apr-util ./configure –prefix=/usr/local/apr-util –with-apr=/usr/local/apr make && make install cd ../../ ./configure --prefix=/usr/local/apache2 --with-arp=/usr/local/apr --with-apr-util=/usr/local/apr-util make && make install
④安装php
tar –xavf php-5.4.10.tar.gz cd php-5.4.10 ./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache2/bin/apxs make && make install
需要进行下列配置
find到libphp5.so,将其拷贝到 /usr/local/apache2/modules/ 目录下
打开 /usr/local/apache2/conf/httpd.conf文件,并添如下信息到其中
<FilesMatch "\.php$"> SetHandler application/x-httpd-php </FilesMatch> <FilesMatch "\.ph(p[2-6]?|tml)$"> SetHandler application/x-httpd-php </FilesMatch> <FilesMatch "\.phps$"> SetHandler application/x-httpd-php-source </FilesMatch> LoadModule php5_module modules/libphp5.so <ifModule dir_module> DirectoryIndex index.html index.php </ifModule>
重启apache :/usr/local/apache2/bin/apachectl restart
注意:
修改共享库配置信息
vi /etc/ld.so.conf
增加如下内容
/usr/local/lib
启动:
ldconfig
⑤配置apache发布ganglia-web日志
编辑httpd.conf文件
vi /usr/local/apache2/conf/httpd.conf
在配置文件中添加如下内容:
Alias /ganglia "/home/gangliaInstall/ganglia/ganglia-web-3.5.10" <Directory "/home/gangliaInstall/ganglia/ganglia-web-3.5.10"> AuthType Basic #Options None Options Indexes FollowSymLinks AllowOverride None Order allow,deny Allow from all </Directory>
重启apache
⑥配置gmetad
进入ganglia安装文件
cd ganglia-3.6.0 cp ./gmetad/gmetad.init /etc/init.d/gmetad cp ./gmetad/gmetad.conf /usr/local/ganglia/etc
修改gmetad
vi /etc/init.d/gmetad
GMETAD=/usr/local/ganglia/sbin/gmetad
修改gmetad.conf配置文件
vi /usr/local/ganglia/etc/gmetad.conf
data_source “xxxx” cluster_ip1 cluster_ip2 cluster_ip3 xml_port 8651 interactive_port 8652 rrd_rootdir “/home/gangliaInstall/ganglia/rrds” case_sensitive_hostnames 1 #非常重要!要不然无法再Hadoop集群中获取数据
将gmetad写入系统服务
chkconfig --add gmetad
重启gmetad
到此监控节点上的ganglia服务已经全部配置完了,接下来我们开始安装被监控节点上的ganglia环境。
被监控节点配置
①配置gmond进入ganglia源目录
cd ganglia-3.6.0 cp ./gmond/gmond.init /etc/init.d/gmond ./gmond/gmond –t > /usr/local/ganglia/etc/gmond.conf
修改gmond配置
vi /etc/init.d/gmond
GMOND=/usr/local/ganglia/sbin/gmond
修改gmond.conf配置
vi /usr/local/ganglia/etc/gmond.conf
globals { daemonize = yes setuid = yes user = nobody #运行ganglia的用户 debug_level = 0 max_udp_msg_len = 1472 mute = no deaf = no host_dmax = 120 cleanup_threshold = 300 gexec = no send_metadata_interval = 15 #发送数据的时间间隔 } cluster { name = “xxx” #要与gmated.conf中data_source的名称相同 owner = “nobody” latlong = “unspecified” url = “unspecified” } udp_send_channel { # mcast_join = 222.31.81.17 #注释掉组播 host = 222.31.81.17 #发送给安装gmetad的机器 port = 8649 ttl = 1 } udp_recv_channel { port = 8649 bind = 10.215.80.54 }
复制python module到ganglia部署目录
mkdir /usr/local/ganglia/lib64/ganglia/python_modules cp ./gmond/python_modules/*/*.py /usr/local/ganglia/lib64/ganglia/python_modules
将gmond写入系统服务
chkconfig --add gmond
重启gmond
修改Hadoop配置文件
修改Hadoop的配置文件/etc/hadoop/hadoop-metrics.properties(如果没有在这个位置可通过find命令查找hadoop-metrics.properties文件的地址)修改以下内容:
dfs.class=org.apache.hadoop.metrics.ganglia.GangliaContext31 dfs.period=30 dfs.servers=222.31.81.17:8649 mapred.class=org.apache.hadoop.metrics.ganglia.GangliaContext31 mapred.period=30 mapred.servers=222.31.81.17:8649 jvm.class=org.apache.hadoop.metrics.ganglia.GangliaContext jvm.class=org.apache.hadoop.metrics.ganglia.GangliaContext31 jvm.period=30 jvm.servers=222.31.81.17:8649
所有的servers都修改为安装为gmetad的机器IP。
重启Hadoop datanode
重启gmond
测试
在浏览器中输入监控节点的IP地址:222.31.81.17/ganglia 即可看到如下截图的界面,说明ganglia搭建完成。相关文章推荐
- hadoop 集群部署ganglia 监控服务与nagios 报警服务
- Ganglia监控Hadoop集群的安装部署
- Ganglia监控Hadoop集群的安装部署
- Ganglia监控Hadoop集群的安装部署
- ganglia分布式服务器集群监控系统的汉化说明
- Ganglia环境搭建并监控Hadoop分布式集群
- Ganglia监控Hadoop集群的安装部署
- Ganglia监控Hadoop集群的安装部署
- 分布式监控工具Ganglia 介绍 与 集群部署.
- 分布式监控工具Ganglia 介绍 与 集群部署.
- 分布式系统学习:Hadoop集群部署(1)
- Ganglia监控Hadoop集群的安装部署
- CentOS 64位系统进行Hadoop2.3.0本地编译及完全分布式集群的部署
- ganglia分布式监控软件集群部署
- Ganglia监控Hadoop集群的安装部署[转]
- Ganglia分布式集群监控系统安装手册
- Ganglia:分布式集群系统监控开源工具
- Ganglia监控Hadoop集群的安装部署
- Ganglia分布式集群监控系统安装手册
- ganglia分布式服务器集群监控系统的安装配置