如何在hadoop集群安装中安装Ganglia

高可用Hadoop平台-Ganglia安装部署 - 推酷
高可用Hadoop平台-Ganglia安装部署
最近,有朋友私密我,Hadoop有什么好的监控工具,其实,Hadoop的监控工具还是蛮多的。今天给大家分享一个老牌监控工具Ganglia,这个在企业用的也算是比较多的,Hadoop对它的兼容也很好,不过就是监控界面就不是很美观。下次给大家介绍另一款工具——Hue,这个界面官方称为Hadoop UI,界面美观,功能也比较丰富。今天,在这里主要给大家介绍Ganglia这款监控工具,介绍的内容主要包含如下:
Ganglia背景
Ganglia安装部署、配置
Hadoop集群配置Ganglia
启动、预览Ganglia
下面开始今天的内容分享。
2.Ganglia背景
Ganglia是UC Berkeley发起的一个开源集群监视项目,设计用于测量数以千计的节点。Ganglia的核心包含gmond、gmetad以及一个Web前端。主要是用来监控系统性能,如:cpu 、mem、硬盘利用率, I/O负载、网络流量情况等,通过曲线很容易见到每个节点的工作状态,对合理调整、分配系统资源,提高系统整体性能起到重要作用。
Ganglia其核心由3部分组成:
gmond:运行在每个节点上监视并收集节点信息,可以同时收发统计信息,它可以运行在广播模式和单播模式中。
gmetad:从gmond以poll的方式收集和存储原数据。
ganglia-web:部署在gmetad机器上,访问gmetad存储的元数据并由Apache Web提高用户访问接口。
下面,我们来看看Ganglia的架构图,如下图所示:
从架构图中,我们可以知道Ganglia支持故障转移,统计可以配置多个收集节点。所以我们在配置的时候,可以按需选择去配置Ganglia,既可以配置广播,也可以配置单播。根据实际需求和手上资源来决定。
3.Ganglia安装部署、配置
本次安装的Ganglia工具是基于Apache的Hadoop-2.6.0,若是未安装Hadoop集群,可以参考我写的《
》。另外系统环境是CentOS 6.6。首先,我们下载Ganglia软件包,步骤如下所示:
第一步:安装yum epel源
[hadoop@nna ~]$ rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm
第二步:安装依赖包
[hadoop@nna ~]$ yum -y install httpd-devel automake autoconf libtool ncurses-devel libxslt groff pcre-devel pkgconfig
第三步:查看Ganglia安装包
[hadoop@nna ~]$ yum search ganglia
然后,我为了简便,把Ganglia安装全部安装,安装命令如下所示:
第四步:安装Ganglia
[hadoop@nna ~]$ yum -y install ganglia*
最后等待安装完成,由于这里资源有限,我将Ganglia Web也安装在NNA节点上,另外,其他节点也需要安装Ganglia的Gmond服务,该服务用来发送数据到Gmetad,安装方式参考上面的步骤。
在安装Ganglia时,我这里将Ganglia Web部署在NNA节点,其他节点部署Gmond服务,下表为各个节点的部署角色:
10.211.55.26
Gmetad、Gmond、Ganglia-Web
10.211.55.27
10.211.55.16
10.211.55.17
10.211.55.18
Ganglia部署在Hadoop集群的分布图,如下所示:
在安装好Ganglia后,我们需要对Ganglia工具进行配置,在由Ganglia-Web服务的节点上,我们需要配置Web服务。
ganglia.conf
[hadoop@nna ~]$ vi /etc/httpd/conf.d/ganglia.conf
修改内容如下所示:
# Ganglia monitoring system php web frontend
Alias /ganglia /usr/share/ganglia
&Location /ganglia&
Order deny,allow
# Deny from all
Allow from all
# Allow from 127.0.0.1
# Allow from ::1
# Allow from .
&/Location&
注:红色为添加的内容,绿色为注销的内容。
gmetad.conf&
[hadoop@nna ~]$ vi /etc/ganglia/gmetad.conf
修改内容如下所示:
data_source &hadoop& nna nns dn1 dn2 dn3
这里“hadoop”表示集群名,nna nns dn1 dn2 dn3表示节点域名或IP。
gmond.conf
[hadoop@nna ~]$ vi /etc/ganglia/gmond.conf
修改内容如下所示:
* The cluster attributes specified will be used as part of the &CLUSTER&
* tag that will wrap all hosts collected by this instance.
name = &hadoop&
owner = &unspecified&
latlong = &unspecified&
url = &unspecified&
/* Feel free to specify as many udp_send_channels as you like.
used to only support having a single channel */
udp_send_channel {
#bind_hostname = yes # Highly recommended, soon to be default.
# This option tells gmond to use a source address
# that resolves to the machine's hostname.
# this, the metrics may appear to come from any
# interface and the DNS names associated with
# those IPs will be used to create the RRDs.
# mcast_join = 239.2.11.71
host = 10.211.55.26
port = 8649
/* You can specify as many udp_recv_channels as you like as well. */
udp_recv_channel {
# mcast_join = 239.2.11.71
port = 8649
bind = 10.211.55.26
retry_bind = true
# Size of the UDP buffer. If you are handling lots of metrics you really
# should bump it up to e.g. 10MB or even higher.
# buffer =
这里我采用的是单播,cluster下的name要与gmetad中的data_source配置的名称一致,发送节点地址配置为NNA的IP,接受节点配置在NNA上,所以绑定的IP是NNA节点的IP。以上配置是在有Gmetad服务和Ganglia-Web服务的节点上需要配置,在其他节点只需要配置gmond.conf文件即可,内容配置如下所示:
/* Feel free to specify as many udp_send_channels as you like.
used to only support having a single channel */
udp_send_channel {
#bind_hostname = yes # Highly recommended, soon to be default.
# This option tells gmond to use a source address
# that resolves to the machine's hostname.
# this, the metrics may appear to come from any
# interface and the DNS names associated with
# those IPs will be used to create the RRDs.
# mcast_join = 239.2.11.71
host = 10.211.55.26
port = 8649
/* You can specify as many udp_recv_channels as you like as well. */
udp_recv_channel {
# mcast_join = 239.2.11.71
port = 8649
# bind = 10.211.55.26
retry_bind = true
# Size of the UDP buffer. If you are handling lots of metrics you really
# should bump it up to e.g. 10MB or even higher.
# buffer =
4.Hadoop集群配置Ganglia
在Hadoop中,对Ganglia的兼容是很好的,在Hadoop的目录下/hadoop-2.6.0/etc/hadoop,我们可以找到hadoop-metrics2.properties文件,这里我们修改文件内容如下所示,命令如下所示:
[hadoop@nna hadoop]$ vi hadoop-metrics2.properties
修改内容如下所示:
namenode.sink.ganglia.servers=nna:8649
#datanode.sink.ganglia.servers=yourgangliahost_1:8649,yourgangliahost_2:8649
resourcemanager.sink.ganglia.servers=nna:8649
#nodemanager.sink.ganglia.servers=yourgangliahost_1:8649,yourgangliahost_2:8649
mrappmaster.sink.ganglia.servers=nna:8649
jobhistoryserver.sink.ganglia.servers=nna:8649
这里修改的是NameNode节点的内容,若是修改DataNode节点信息,内容如下所示:
#namenode.sink.ganglia.servers=nna:8649
datanode.sink.ganglia.servers=dn1:8649
#resourcemanager.sink.ganglia.servers=nna:8649
nodemanager.sink.ganglia.servers=dn1:8649
#mrappmaster.sink.ganglia.servers=nna:8649
#jobhistoryserver.sink.ganglia.servers=nna:8649
其他DN节点可以以此作为参考来进行修改。
另外,在配置完成后,若之前Hadoop集群是运行的,这里需要重启集群服务。
5.启动、预览Ganglia
Ganglia的启动命令有start、restart以及stop,这里我们分别在各个节点启动相应的服务,各个节点需要启动的服务如下:
[hadoop@nna ~]$ service gmetad start
[hadoop@nna ~]$ service gmond start
[hadoop@nna ~]$ service httpd start
[hadoop@nns ~]$ service gmond start
[hadoop@dn1 ~]$ service gmond start
[hadoop@dn2 ~]$ service gmond start
[hadoop@dn3 ~]$ service gmond start
然后,到这里Ganglia的相关服务就启动完毕了,下面给大家附上Ganglia监控的运行截图,如下所示:
在安装Hadoop监控工具Ganglia时,需要在安装的时候注意一些问题,比如:系统环境的依赖,由于Ganglia需要依赖一些安装包,在安装之前把依赖环境准备好,另外在配置Ganglia的时候需要格外注意,理解Ganglia的架构很重要,这有助于我们在Hadoop集群上去部署相关的Ganglia服务,同时,在配置Hadoop安装包的配置文件下(/etc/hadoop)目录下,配置Ganglia配置文件。将hadoop-metrics2.properties配置文件集成到Hadoop集群中去。
这篇博客就和大家分享到这里,如果大家在研究学习的过程当中有什么问题,可以加群进行讨论或发送邮件给我,我会尽我所能为您解答,与君共勉!
已发表评论数()
请填写推刊名
描述不能大于100个字符!
权限设置: 公开
仅自己可见
正文不准确
标题不准确
排版有问题
主题不准确
没有分页内容
图片无法显示
视频无法显示
与原文不一致查看:10051|回复:3
51CTO学院讲师
Ganglia是一款非常不错的监控软件,它可以对当前的系统软硬件进行全面的监控,特别适合集群的监控,可以对各个节点以及整个集群进行全面的监控。下面来说一下环境的搭建。
说明:操作系统rhel5.4
注意:安装系统,选择安装的软件包时不要默认安装,选择“自定义”。然后在development里面全部都勾选上,否则在安装源码包的时候会有很多报错。
环境搭建:LAMP的搭建用rpm包就可以了,不需要源码包。
搭建一个本地yum库
编辑yum配置文件: vi /etc/yum.repos.d/rhel-debuginfo.repo内容如下:
[rhel-debuginfo]
name=Red Hat Enterprise Linux $releasever - $basearch - Debugbaseurl=file:///mnt/Server
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
挂在光盘到/mnt:
执行yum update 来 升级yum库。
用yum安装apache,mysql和php等,命令如下
yum -y install httpd mysql mysql-server mysql-connector-odbc
yum -y install php php-mysql php-common php-pdo
安装绘图工具:rrdtool
./configure
--prefix=/usr/local/rrdtool&&make&&make install
ln -s /usr/local/rrdtool/include/rrd.h /usr/include/rrd.h
ln -s /usr/local/rrdtool/lib/librrd.a /usr/lib/librrd.a
安装ganglia
./configure --prefix=/usr/local/ganglia
--sysconfdir=/etc/ganglia
--with-gmetad
如果该步骤没有报错,会出现由字符组成的ganglia,让你输入make来编译,当然在这里一般都会有报错:
(如果有报错,注意下面的提示),然后make install就可以了
温馨提示:其中可能会报错:
configure: errorr: apr-1-config binary not found in path
解决方法:
yum –y install
yum -y install apr-util*
libconfuse not found
解放方法:
安装libconfuse-2.5-4.el5.i386.rpm libconfuse-devel-2.5-4.el5.i386.rpm(如果是64位的操作系统,要下载64位的软件包)
7.如果软件安装成功的话,做下面的步骤(提示:下面的命令可以同时拷贝,粘贴一下就可以了,哈哈)
cd /soft/ganglia-3.1.1/
mkdir -p /var/www/html/ganglia/
cp -a web/* /var/www/html/ganglia/
cp gmetad/gmetad.init /etc/rc.d/init.d/gmetad
#下面四步是添加系统服务
cp gmond/gmond.init /etc/rc.d/init.d/gmond
chkconfig --add gmetad
chkconfig --add gmond
mkdir /etc/ganglia
#生成被监控端的配置文件
gmond/gmond -t | tee /etc/ganglia/gmond.conf
&&/dev/null
cp gmetad/gmetad.conf /etc/ganglia/
#生成服务器端的配置文件
mkdir -p /var/lib/ganglia/rrds
#存放rrdtool数据的目录
chown nobody:nobody /var/lib/ganglia/rrds
gmetad.conf是服务器端的配置文件,其中里面最重要的参数是data_source,他是来定义被监控端的。例如:data_source &db1&
192.168.10.1
db1表示集群的名字,后面的ip是是被监控端的ip。Ok,这时候服务器端就可以启动了。
service gmetad restart
注意:这里会有报错:
Starting GANGLIA gmond: [root rrdtool-1.4.3]# service gmond restart
Shutting down GANGLIA gmond:
Starting GANGLIA gmond:
再执行一次还是这样的结果
解决方法:
修改/etc/init.d/gmetad
把GMETAD=/usr/sbin/gmetad
改为:GMETAD=/usr/local/ganglia/sbin/gmetad
9.启动客户端。
注意这里会有两个报错:
解决方法:
1)修改/etc/init.d/gmond
把GMOND=/usr/sbin/gmond
修改为GMOND=/usr/local/ganglia/sbin/gmond
报错2:(一般虚拟机里面会报这个错,真实环境里面不会)
/usr/local/ganglia/sbin/gmond[31101]: Error creating multicast server mcast_join=239.2.11.71 port=8649 mcast_if=NULL family='inet4'. Exiting.
2)解决方法:
vi /etc/sysconfig/network-scripts/route-eth0
内容:239.2.11.71 dev eth0
重启network:
service network restart
10.启动apache.
service httpd start
访问http://服务器ip/ganglia就ok了
谢谢老师分享。 一直在看您的文章!! 对我的帮助很大。谢谢呀!呵呵
网络情况:192.168.1.1 ganglia总服务器;192.168.2.1&&2网段ganglia转发服务器,192.168.3.1&&3网段ganglia转发服务器
交换机之间开通了组播
192.168.2.1 监控本网段内的服务器,ganglia的mem不会出现断点
192.168.1.1 监控192.168.2.网段,ganglia的mem就出现了断点
192.168.1.1 监控192.168.3.网段,正常。
不知道是网络原因还是转发服务器和总服务器之间出现了问题。
还有个问题,ganglia选择机器的时候,有些是机器名字,有些是ip地址,如何统一一下。多谢各位!
ganglia采用的是中继模式
[root@host1 ~]# gmond --debug=10
loaded module: core_metrics
loaded module: cpu_module
loaded module: disk_module
loaded module: load_module
loaded module: mem_module
loaded module: net_module
loaded module: proc_module
loaded module: sys_module
Cannot load /usr/local/ganglia/lib/ganglia/modpython.so metric module: /usr/local/ganglia/lib/ganglia/modpython.so: undefined symbol: fmod
udp_recv_channel mcast_join=239.2.11.71 mcast_if=NULL port=8649 bind=239.2.11.71tcp_accept_channel bind=NULL port=8649
Unable to create tcp_accept_channel. Exiting.ganglia安装时没有出现错误,安装是服务器端,gmetad启动正常,可是gmond出现上述错误,高手指导一下啊!!!telnet localhost 8651时xml文件格式大体正确,可是没有host属性,收集不到信息。
本帖最后由 刘增兰 于
14:52 编辑ipinco 的BLOG
用户名:ipinco
文章数:16
访问量:2745
注册日期:
阅读量:5863
阅读量:12276
阅读量:421409
阅读量:1109686
51CTO推荐博文
更新源yum install wget gcc make rsyncrpm -Uvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm1. 安装php支持&yum install php-common php-cli php-gb php2. 安装ganglia及其相关组件server端:yum install rrdtool rrdtool-devel ganglia-web ganglia-gmetad ganglia-gmond ganglia-gmond-python httpd apr-devel zlib-devel libconfuse-devel expat-devel pcre-devel&client端:yum install ganglia-gmond[root@test1 ganglia]# pwd/etc/ganglia[root@test1 ganglia]# egrep -v "^#|^$" gmetad.conf&data_source "chenlaisoft.sz" localhostgridname "ganglia.chenlaisoft.sz"setuid_username nobodycase_sensitive_hostnames 0[root@test1 ganglia]#4. 创建rrds目录& mkdir -p /var/lib/ganglia/rrds& chown nobody:nobody /var/lib/ganglia/rrds& chmod a+w /var/lib/ganglia/rrds5. 关闭SELinux不然无法访问监控的web的页面& &vi /etc/selinux/config& &SELINUX=disable& &以上方法需要重启机器防火墙规则设置iptables -I INPUT 3 -p tcp -m tcp --dport 80 -j ACCEPTiptables -I INPUT 3 -p udp -m udp --dport 8649 -j ACCEPTservice iptables saveservice iptables restart6. 启动相关服务& &service gmond restart& &service gmetad restart& &service httpd restart[root@vm244-009-zabbix conf.d]# chkconfig gmond on[root@vm244-009-zabbix conf.d]# chkconfig gmetad on[root@vm244-009-zabbix conf.d]# chkconfig httpd on&ForbiddenYou don't have permission to access /ganglia on this server.#vi /etc/httpd/conf.d/ganglia.conf# Ganglia monitoring system php web frontend#Alias /ganglia /usr/share/ganglia&Location /ganglia&& Order deny,allow& Deny from all& #Allow from 127.0.0.1& Allow from all& Allow from ::1& # Allow from .&/Location&客户端安装:gmond -t &gmond.confclient端:yum install ganglia-gmondcluster {& name = "chenlaisoft.sz"& owner = "unspecified"& latlong = "unspecified"& url = "unspecified"}host {& location = "test.chenlaisoft.sz"}udp_send_channel {& host = 192.168.1.156& port = 8649& ttl = 1}udp_recv_channel {& port = 8649& retry_bind = true&&}本文出自 “” 博客,请务必保留此出处
了这篇文章
类别:┆阅读(0)┆评论(0)博客访问: 476706
博文数量: 260
博客积分: 10
博客等级: 民兵
技术积分: 2508
注册时间:
科技改变世界,技术改变人生。
IT168企业级官微
微信号:IT168qiye
系统架构师大会
微信号:SACC2013
分类: 大数据
ganglia的工作原理就不多说了,网上很多,直接进行实践环节。
hadoop监控:
CentOS-6.3 系统64位
监控gmetad主机和gmond客户端主机在同一台虚拟机的时候,会出现各节点不显示性能图线的情况。(实体机不会出现这样的问题)
经过证明ganglia Server使用实体机,客户端虚拟机全部显示正常。
安装Ganglia服务器,需要用到的软件包,如下所示:
&&& pcre-8.33.tar.gz
&&& confuse-2.7.tar.gz
&&& rrdtool-1.4.7.tar.gz
&&& php-5.5.24.tar.gz
&&& ganglia-3.6.0.tar.gz
&&& ganglia-web-3.5.10.tar.gz
&&& ganglia-web-3.6.2.tar.gz(节点不显示数据性能线)
&&& nginx-1.6.0.tar.gz
下面介绍安装和配置的过程:
1、安装基础依赖软件包
首先保证yum源可用,可以查看或者修改,在目录下面/etc/yum.repo.d/可以添加或者修改。接着,就可以执行如下命令安装一些基础依赖软件包
yum -y install apr-devel apr-util check-devel cairo-devel pango-devel libxml2-devel rpm-build glib2-devel dbus-devel freetype-devel fontconfig-devel gcc-c++ expat-devel python-devel libXrender-devel pkgconfig
如果安装过程中,没有出错,则可以正常进行下一步,如果出现错误,可能会影响后面的安装过程。
安装PCRE软件包
tar zxvf pcre-8.33.tar.gz
cd pcre-8.33
./configure --prefix=/usr --libdir=/usr/lib64
make install
调整lib库的位置:
vi /etc/ld.so.conf.d/libpcre.conf,添加:/usr/local/lib,然后/sbin/ldconfig -v
没有就新建
安装confuse软件包
tar zxvf confuse-2.7.tar.gz
cd confuse-2.7
./configure CFLAGS=-fPIC --disable-nls
make install
安装rrdtool软件包
tar xvzf rrdtool-1.4.7.tar.gz
cd rrdtool-1.4.7/
./configure
make install
ln -s /opt/rrdtool-1.4.7/lib/librrd.so.4 /usr/lib64/librrd.so.4
ln -s /opt/rrdtool-1.4.7/lib/librrd.so.4 /usr/lib64/librrd.so
rrdtool默认会安装到/opt/rrdtool-1.4.7目录下面。
验证 /opt/rrdtool-1.4.7/bin/rrdtool
安装PHP软件包
tar xvzf php-5.5.24.tar.gz
cd php-5.5.24
./configure --enable-fpm
make install
cd /usr/local/etc/
cp php-fpm.conf.default php-fpm.conf
修改配置文件/usr/local/etc/php-fpm.conf,在php-fpm.conf中找到如下行:
;security.limit_extensions = .php .php3 .php4 .php5
将配置行修改为如下内容:
security.limit_extensions = .php .php3 .php4 .php5 .htm .html .png .jpeg .gif .jpg .js .css
因为Ganglia Web监控是PHP实现的,我们需要保证对于一些图片或者脚本都能够正常加载,才能够浏览到直观完整的图形界面,便于监控理解。
启动fpm,执行如下命令:
/usr/local/sbin/php-fpm
验证php-fpm启动成功,可以执行如下命令:
ps -ef | grep php-fpm
如果能够看到类似如下的几个进程表示启动成功:
root&&&&& 9440&&&& 1& 0 13:57 ?&&&&&&& 00:00:00 php-fpm: master process (/usr/local/etc/php-fpm.conf)
nobody&&& & 0 13:57 ?&&&&&&& 00:00:00 php-fpm: pool www&& &
nobody&&& & 0 13:57 ?&&&&&&& 00:00:00 php-fpm: pool www
安装配置Ganglia Server
tar xvzf ganglia-3.6.0.tar.gz
cd ganglia-3.6.0
./configure --with-gmetad --with-librrd=/opt/rrdtool-1.4.7 --prefix=/usr/local/ganglia --enable-gexec --enable-status
make install
cp /root/ganglia-3.6.0/gmetad/gmetad.init /etc/init.d/gmetad
chkconfig gmetad on
chkconfig --list gmetad
修改配置文件/etc/init.d/gmetad,将配置行GMETAD=/usr/sbin/gmeta的内容修改为:
GMETAD=/usr/local/ganglia/sbin/gmetad
修改配置文件/usr/local/ganglia/etc/gmetad.conf,将默认的data_source “my cluster” localhost修改为:(目前未设置)
单hadoop群集
data_source "hadoop" 10.10.3.104:8653
多hadoop群集
data_source "log server" 10.10.2.245:8652
data_source "hadoop" 10.10.3.104:8649
data_source "data upload" 10.10.3.22:8654
这里,配置了3个监控组,每个组对应的数据源名称,已经对应的服务器地址和端口信息。我们知道,Ganglia集群的组成类似自包含的结构,亦即,Ganglia集群由主进程gmetad和多个gmond从进程集群组成,而每个gmond从进程集群又存在一个主gmond进程,其他的为从gmond进程,所以上面配置的每个data_source对应的IP:端口可以看成是gmond从进程集群的主gmond进程。
增加grid内容,如下所示:
gridname "My Grid"
增加rrd数据库路径:
rrd_rootdir "/usr/local/ganglia/rrds"
需要保证/usr/local/ganglia/rrds存在,不存在则手动创建,并修改目录属主:
mkdir -p /usr/local/ganglia/rrds
chown nobody:nobody -R /usr/local/ganglia/rrds
安装ganglia-web
执行如下命令:
cd /usr/local/ganglia/
cp -r /root/ganglia-web-3.6.2.tar.gz ./
tar xvzf ganglia-web-3.6.2.tar.gz
mv ganglia-web-3.6.2 ganglia
cd ganglia
mkdir -p dwoo/compiled
mkdir -p dwoo/cache
chown nobody:nobody -R /usr/local/ganglia/web
修改配置文件/usr/local/ganglia/web/ganglia/conf_default.php,修改内容如下所示:
修改gweb_confdir变量,将
$conf['gweb_confdir'] = "/var/lib/ganglia-web";
$conf['gweb_confdir'] = "/usr/local/ganglia/web/ganglia";
修改gmetad_root变量,将
$conf['gmetad_root'] = "/var/lib/ganglia";
$conf['gmetad_root'] = "/usr/local/ganglia";
修改rrdtool变量,将
$conf['rrdtool'] = "/usr/bin/rrdtool";
$conf['rrdtool'] = "/opt/rrdtool-1.4.7/bin/rrdtool";
安装Nginx反向代理软件:
tar xvzf nginx-1.6.0.tar.gz
cd nginx-1.6.0
./configure --prefix=/usr/local/nginx
make install
修改配置文件/usr/local/nginx/conf/nginx.conf,在server中增加如下配置内容:
location /ganglia/ {
root /usr/local/ganglia/
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.
fastcgi_param& SCRIPT_FILENAME& $document_root$fastcgi_script_
include&&&&&&& fastcgi_
根据需要修改Nginx的其他配置,例如,可以修改worker_processes的值:
worker_processes& 2;
启动Nginx服务:
/usr/local/nginx/sbin/nginx
启动ganglia服务
启动ganglia:
service gmetad start
这时,需要查看一下启动状态:
service gmetad status
如果失败,先停掉服务:
service gmetad stop
然后根据提示信息排查错误,可以查看/var/log/messages来定位错误,修改相应的配置,例如出现错误:
Jul 17 14:01:45 WSKJ_BJPBS-C10_MD08_i10_ /usr/local/ganglia/sbin/gmetad[9678]: Please make sure that /usr/local/ganglia/rrds is owned by nobody
上面错误说明目录文件/usr/local/ganglia/rrds的属主信息有问题,可以根据提示修改属主即可。
Ganglia Server端作为收集主gmond,所以页要安装gmond端,其他gmond节点都指向这个IP。(安装方法参考后边内容)
Ganglia Server机重启后需要检查一下是否启动:
/usr/local/sbin/php-fpm
/usr/local/nginx/sbin/nginx
service gmetad restart
service gmond restart
Ganglia代理安装配置(ganglia客户端)
Ganglia代理,即gmond进程,用来收集监控数据,需要在待监控的节点上安装配置后才能够正常工作。在每个待监控的节点上安装配置步骤都非常类似,下面介绍安装配置步骤:
安装基础依赖软件包
与安装gmetad类似,首先保证yum源可用,可以查看或者修改,在目录下面/etc/yum.repo.d/可以添加或者修改。接着,就可以执行如下命令安装一些基础依赖软件包:
yum -y install apr-devel apr-util check-devel cairo-devel pango-devel libxml2-devel rpm-build glib2-devel dbus-devel freetype-devel fontconfig-devel gcc-c++ expat-devel python-devel libXrender-devel pkgconfig
如果安装过程中,没有出错,则可以正常进行下一步,如果出现错误,可以根据错误提示安装缺失的软件包,否则可能会影响后面的安装过程。
安装PCRE软件包
tar zxvf pcre-8.33.tar.gz
cd pcre-8.33
./configure --prefix=/usr --libdir=/usr/lib64
make install
安装confuse软件包
tar zxvf confuse-2.7.tar.gz
cd confuse-2.7
./configure CFLAGS=-fPIC --disable-nls
make install
安装配置gmond服务
tar zxvf ganglia-3.6.0.tar.gz
cd ganglia-3.6.0
./configure --prefix=/usr/local/ganglia --enable-gexec --enable-status
make install
生成gmond配置文件:
./gmond/gmond -t > /usr/local/ganglia/etc/gmond.conf
修改/usr/local/ganglia/etc/gmond.conf配置文件,根据我们安装配置gmetad配置的data_source “hadoop” 10.10.3.104:8653,需要修改如下内容:
# 指定在gmetad中配置的data_source名称hadoop,对应于这里的cluster的name值
name = "hadoop"& ------cluster名称,是你在gmetad.conf里配置的data_source名称
owner = "unspecified"
latlong = "unspecified"
url = "unspecified"
# 修改端口号,与gmetad配置的data_source "hadoop" 10.10.3.104:8649保持一致
udp_send_channel {
#mcast_join = 239.2.11.71&& ----- 组播
port = 8649
# 修改端口号,与gmetad配置的data_source "hadoop" 10.10.3.104:8649保持一致
udp_recv_channel {
#mcast_join = 239.2.11.71
port = 8649
#bind = 239.2.11.71 &
#retry_bind = true
# 修改端口号,与gmetad配置的data_source "hadoop" 10.10.3.104:8649保持一致
tcp_accept_channel {
port = 8653
#gzip_output = no
# 修改被监控主机信息
location = "unspecified"&&& ---(目前未设置)
将/root/ganglia-3.6.0/gmond/gmond.init复制到/etc/init.d/目录下,并改名为gmond,执行如下命令:
cp /root/ganglia-3.6.0/gmond/gmond.init /etc/init.d/gmond
修改/etc/init.d/gmond脚本文件,将GMOND=/usr/sbin/gmond修改为/usr/local/ganglia/sbin/gmond
然后,就可以启动gmond进程了,执行如下命令:
service gmond start
查看gmond服务启动状态:
service gmond status
如果希望加入开机启动,可以执行如下命令:
chkconfig --add gmond
至此,就完成了gmond服务的配置,对于其它待监控的节点上,安装配置gmond服务的过程是类似的。
Ganglia集群配置验证
将上面对应的gmetad服务和gmond服务配置完成,启动以后,可以通过查看gmetad服务器的Web监控页面
Ganglia监控Web首页图,http://Server IP/ganglia
如果是多个组就是在/usr/local/ganglia/etc/gmetad.conf中配置的3个data_source进行分组统计分析监控数据,
会以为分组的形式展示了一些监控的概要信息,如果想要查看某个data_source更详细的信息,可以直接选择下方的3个蓝色的图标链接,可以看到某个data_source组下多个节点的综合监控数据和图形。
可以继续深入到每个节点中,查看每个节点的监控数据。
在开启gmond后,gstat -a可以看到所有计算节点的信息。信息应该都是发送过来了。
/usr/local/ganglia/sbin/gmond -d 100
Ganglia有图形界面,但是数据无法显示
请检查gmond和gmetad server的时间,确保一致。可以执行ntpdate
Gmetad和Gmond没有起来
可以执行/usr/local/ganglia/sbin/gmeated -debug=4 查看详细的启动日志
阅读(1373) | 评论(0) | 转发(0) |
相关热门文章
给主人留下些什么吧!~~
请登录后评论。

我要回帖

更多关于 hadoop集群安装 的文章

 

随机推荐