开发者社区> split_two> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

【原创】ganglia监控hadoop集群

简介: 最近研究了一下ganglia监控hadoop集群,大致可以监控hadoop集群中节点的性能。比如CPU、内存、IO、交换分区等。这里就不一一介绍!网上部署监控的文档很多,乱起八糟的也很多,主要是每个人的环境都不一样导致,但是我自己看的还是比较头晕,以至于有的人还直接发布安装脚本,结果可笑的就是脚本拿下来后运行直接报错。
+关注继续查看
福利推荐:阿里云、腾讯云、华为云等大品牌云产品全线2折优惠活动来袭,4核8G云服务器899元/3年,新老用户共享优惠,点击这里立即抢购>>>

最近研究了一下ganglia监控hadoop集群,大致可以监控hadoop集群中节点的性能。比如CPU、内存、IO、交换分区等。这里就不一一介绍!网上部署监控的文档很多,乱起八糟的也很多,主要是每个人的环境都不一样导致,但是我自己看的还是比较头晕,以至于有的人还直接发布安装脚本,结果可笑的就是脚本拿下来后运行直接报错。这里就不说别人不好的地方了,分享技术是种好事,但是不正确的文档肯定会导致初学者盲目的。所以切记分享技术的时候记得说清楚当时的环境,这里说下我的这个环境吧!
hadoop集群所有节点加起来四台机器,这里我挑slave1作为监控机,另外三台为被监控机。请看下图:
主机名???IP地址????????? 用途?????? 系统版本???????????软件包安装情况
msater???192.168.15.95???namenode???RedHat4.8(64位)????安装系统所有软件包都已安装
slave1?? 192.168.15.72?? datanode???同上?????????????? 同上
slave2?? 192.168.15.71?? datanode?? 同上?????????????? 同上
slave3?? 192.168.15.132??datanode?? 同上???????????????同上
其实ganglia主要分为两个守护进程:
监控机主要跑gmetad进程,apache进程,当然如果你要本机监控本机的话还得跑一个gmond进程。而被监控机主要跑一个gmond进程了。因为监控画面需要画面rrdtool,所以监控机要比被监控机多两个软件,一个是rrdtool,一个是gmetad。
下面是我部署监控端的脚本(经过多次试验肯定问题,随着时间的关系可能有的下载链接失效,这里就烦请各位童鞋自己找链接了哈),提醒下各位如果用系统自带的apache的话,必须是软件包默认都安装好的,你可以在/var/www/html目录下新建php测试页,如果能看见一些信息,就说明apache已经加载了php。这里是linux+apache+php环境。还有记得把你的apache主目录指向/var/www/html目录。
[root@slave1 ~]# more ganglia.sh
#!/bin/bash
#############################################################################################################
mkdir /root/software
cd /root/software
#下载rrdtool并编译安装
wget http://oss.oetiker.ch/rrdtool/pub/rrdtool-1.2.27.tar.gz
tar zxvf rrdtool-1.2.27.tar.gz
cd rrdtool-1.2.27
./configure --prefix=/usr/local/rrdtool
make && make install
#############################################################################################################
cd /root/software
#下载expat并编译安装
wget http://downloads.sourceforge.net/project/expat/expat/2.0.1/expat-2.0.1.tar.gz?use_mirror=cdnetworks-kr-2
tar zxvf expat-2.0.1.tar.gz
cd expat-2.0.1
./configure --prefix=/usr/local/expat
make && make install
#我的是64位操作系统,所以需要拷贝一些链接库文件
mkdir /usr/local/expat/lib64
cp -a /usr/local/expat/lib/* /usr/local/expat/lib64/
#############################################################################################################
cd /root/software
#下载apr并编译安装
wget http://labs.renren.com/apache-mirror/apr/apr-1.4.6.tar.gz
tar zxvf apr-1.4.6.tar.gz
cd apr-1.4.6
./configure --prefix=/usr/local/apr
make && make install
cd /root/software
#下载apr-util并编译安装
wget http://labs.renren.com/apache-mirror/apr/apr-util-1.4.1.tar.gz
tar zxvf apr-util-1.4.1.tar.gz
cd apr-util-1.4.1
./configure --with-apr=/usr/local/apr --with-expat=/usr/local/expat
make && make install
#我的是64位操作系统,所以需要拷贝一些链接库文件
cp -f /usr/local/apr/include/apr-1/* /usr/local/apr/include/
mkdir -p /usr/local/apr/lib64
cp -a -f /usr/local/apr/lib/* /usr/local/apr/lib64/
#############################################################################################################
cd /root/software
#下载confuse并编译安装
wget http://download.savannah.gnu.org/releases/confuse/confuse-2.7.tar.gz
tar zxvf confuse-2.7.tar.gz
cd confuse-2.7
./configure CFLAGS=-fPIC --disable-nls --prefix=/usr/local/confuse
make && make install
#我的是64位操作系统,所以需要拷贝一些链接库文件
mkdir -p /usr/local/confuse/lib64
cp -a -f /usr/local/confuse/lib/* /usr/local/confuse/lib64/
#####################################################################################################################
cd /root/software
#下载ganglia并编译安装
wget http://cdnetworks-kr-1.dl.sourceforge.net/project/ganglia/ganglia%20monitoring%20core/3.1.7/ganglia-3.1.7.tar.gz
tar zxvf ganglia-3.1.7.tar.gz
cd ganglia-3.1.7
./configure --prefix=/usr/local/ganglia --with-librrd=/usr/local/rrdtool --with-libapr=/usr/local/apr --with-libexpat=/usr/local/expat --with-libconfuse=/usr/local/confuse --with-gmetad --enable-gexec --enable-status -sysconfdir=/etc/ganglia
make && make install
#####################################################################################################################
#新建ganglia程序目录。
mkdir /var/www/html/ganglia
#将ganglia网页程序放入到新建的文件夹中??????
cp -r web/* /var/www/html/ganglia
#新建rrdtool放入图像的地方(程序默认的)
mkdir -p /var/lib/ganglia/rrds
#修改属主属组,如果你不改的话,则页面会显示不出来,一会咱们可以看看!
chown nobody:nobody /var/lib/ganglia/rrds
#拷贝启动脚本到系统默认的路径
cp gmond/gmond.init /etc/rc.d/init.d/gmond
cp gmetad/gmetad.init /etc/rc.d/init.d/gmetad
#拷贝启动文件到系统默认路径
cp -f /usr/local/ganglia/sbin/gmetad /usr/sbin/gmetad
cp -f /usr/local/ganglia/sbin/gmond /usr/sbin/gmond
#生成默认的gmond.conf文件
gmond -t | tee /etc/ganglia/gmond.conf
#脚本结束
#####################################################################################################################
下面开始修改配置文件了,主要是gmetad.conf和gmond.conf文件
vi /etc/ganglia/gmetad.conf
将这一行修改为你自己定义的源和主机IP
data_source "my cluster" localhost
改为
data_source "Hadoop"?192.168.15.72
保存退出!
vi /etc/ganglia/gmond.conf
将这一行name的值修改为刚刚自己定义的源
cluster {
? name = "unspecified"
? owner = "unspecified"
? latlong = "unspecified"
? url = "unspecified"
}
改为
cluster {
? name = "Hadoop"
? owner = "unspecified"
? latlong = "unspecified"
? url = "unspecified"
}
保存退出!
最后我们修改/var/www/html/ganglia/conf.php
将这行改为我们rrdtool编译的路径,默认是/usr
define("RRDTOOL", "/usr/bin/rrdtool");
改为
define("RRDTOOL", "/usr/local/rrdtool/bin/rrdtool");
基本配置就完成了哈!
下面我们启动看看效果!
[root@slave1 ~]# /etc/init.d/httpd start
Starting httpd: httpd: Could not determine the server's fully qualified domain name, using 192.168.15.72 for ServerName
?????????????????????????????????????????????????????????? [? OK? ]
[root@slave1 ~]# /etc/init.d/gmetad start
Starting GANGLIA gmetad:?????????????????????????????????? [? OK? ]
[root@slave1 ~]# /etc/init.d/gmond start
Starting GANGLIA gmond:??????????????????????????????????? [? OK? ]
测试用浏览器输入http://IP地址/ganglia
img_ae7303442888536af94184b1f4f15d2d.jpg
这样就基本完成了本机监控本机了!
下面来说两个常见的错误:
img_c60e3e3b334b299722f6a7d7811ef110.jpg
这个错误就是rrds属主属组导致的。修改为nobody则重启apache、gmetad、gmond三个服务。
chown nobody:nobody /var/lib/ganglia/rrds
另外一个错误就是图片显示不出来
img_f2fb69d4322b085094c3224aa18681f6.jpg
这个问题就是conf.php文件没有修改导致。把路径指向自己rrdtool编译后安装的目录就OK了!我这里则是/usr/local/rrdtool/bin/rrdtool路径!
大致本机安装ganglia监控本机就这样吧!下节将介绍被监控机部署ganglia脚本。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
VMware创建Linux虚拟机之(三)Hadoop安装与配置及搭建集群 下
VMware创建Linux虚拟机之(三)Hadoop安装与配置及搭建集群 下
0 0
VMware创建Linux虚拟机之(三)Hadoop安装与配置及搭建集群 中
VMware创建Linux虚拟机之(三)Hadoop安装与配置及搭建集群 中
0 0
VMware创建Linux虚拟机之(三)Hadoop安装与配置及搭建集群 上
VMware创建Linux虚拟机之(三)Hadoop安装与配置及搭建集群 上
0 0
关于Hadoop集群物理及虚拟内存的检测的设置说明
关于Hadoop集群物理及虚拟内存的检测的设置说明
0 0
【Hadoop】如何做到Hadoop集群删库不跑路……
【Hadoop】如何做到Hadoop集群删库不跑路……
0 0
大规模集群下Hadoop NameNode如何承载每秒上千次的高并发访问
大规模集群下Hadoop NameNode如何承载每秒上千次的高并发访问
0 0
环境篇之 hadoop 集群的测试|学习笔记
快速学习环境篇之 hadoop 集群的测试
0 0
搭建hadoop集群教程
详细的Hadoop搭建教程
0 0
hadoop集群离线化搭建(利用HDP快速搭建大数据集群)(二)
000hadoop集群离线化搭建(利用HDP快速搭建大数据集群)
0 0
hadoop集群离线化搭建(利用HDP快速搭建大数据集群)(一)
hadoop集群离线化搭建(利用HDP快速搭建大数据集群)
0 0
+关注
split_two
忠于开源,热爱开源。
文章
问答
文章排行榜
最热
最新
相关电子书
更多
Why is my Hadoop* job slow
立即下载
海量结构化和非结构化大数据Hadoop集群规划
立即下载
海量结构化和非结构化大数据Hadoop集群规划
立即下载


http://www.vxiaotou.com