如何在集群中安装Ganglia

如何在集群中安装Ganglia

Ganglia 是 UC Berkeley 发起的一个开源实时监视项目,用于测量数以千计的节点,为云计算系统提供系统静态数据以及重要的性能度量数据。Ganglia系统基本包含三大部分:

1、gmond

gmond运行在每台计算机上,它主要监控每台机器上收集和发送度量数据(如处理器速度、内存使用量等)。

2、gmetad

gmetad运行在cluster的一台主机上,作为web server,或者用于与web server进行沟通

3.、ganglia web 前端

本文主要介绍如何安装gmond和gmetad(本文所有的东西都安装在/usr/local目录下)

一、安装gmond

a.准备工作,安装apr-1-config,libconfuse 以及libpcre包 

#yum -y install httpd-devel automake autoconf libtool ncurses-devel libxslt groff pcre-devel pkgconfig

下载confuse安装包:confuse-2.7.tar.gz (或更新的版本)

#tar -zxvf confuse-2.7.tar.gz

#cd confuse-2.7

在编译libconfuse的时候加入特殊的参数:

#./configure CFLAGS=-fPIC --disable-nls

#make

#make install

b.下载ganglia安装包http://ganglia.sourceforge.net/downloads.php

本人下载的是ganglia-3.1.7.tar.gz

c.解压缩包

#tar -zxvf ganglia-3.1.7.tar.gz

#ln -sf ganglia-3.1.7 ganglia

d. 进入ganglia文件夹进行安装

#cd ganglia

#./configure --sysconfdir=/etc/ganglia

#make

#make install

#cp gmond/gmond.init /etc/rc.d/init.d/gmond

#cp gmond/gmond.conf /etc/ganglia/gmond.conf

(gmond.conf可能不存在,但是不影响gmond的启动,你也可以按照

http://www.msg.ucsf.edu/local/ganglia/ganglia_docs/configuration.html

写一份gmond.conf放到/etc/ganglia目录下)

#chkconfig –add gmond

#chkconfig –list gmond

此时,如果正确安装,会出现GMOND 0:off 1:off 2:on 3:on 4:on 5:on 6:off

            启动gmond:      /etc/rc.d/init.d/gmond start

此时,会显示    Starting GANGLIA gmond: [ OK ]

二、安装rrdtool—–为安装gmetad做准备,它用于数据存储和可视化

a.准备工作

安装rrdtool之前需要确保安装了这些库zlib libpng freetype libart_lgpl,所以为了方便起见,你可以直接

#yum install cairo-devel libxml2-devel pango-devel pango libpng-devel freetype freetype-devel libart_lgpl-devel

然后验证一下:

[root@GMS04 ~]# rpm -qa |grep zlib
zlib-1.2.3-3
zlib-devel-1.2.3-3
[root@ GMS04 ~]# rpm -qa |grep libpng
libpng-devel-1.2.10-7
libpng-1.2.10-7
[root@ GMS04 ~]# rpm -qa |grep freetype
freetype-2.2.1-16.el5
freetype-devel-2.2.1-16.el5
[root@ GMS04 ~]# rpm -qa |grep libart_lgpl
libart_lgpl-2.3.17-4
libart_lgpl-devel-2.3.17-4

此外,rrdtool还需要cgilib这个库,所以需要先下载这个包cgilib-0.5.tar.gz

#tar -zxvf cgilib-0.5.tar.gz
#cd cgilib-0.5
#make
#cp libcgi.a /usr/local/lib
#cp cgi.h /usr/include

b.安装rrdtool

下载rrdtool安装包:rrdtool-1.2.6.tar.gz

#tar -zxvf rrdtool-1.2.6.tar.gz

#ln –sf rrdtool-1.2.6 rrdtool

#cd rrdtool

#./configure –disable-tcl  

#make

#make install

c.检查rrdtool 是否安装成功

ls  /usr/local/rrdtool/ 查看该目录,看是否有以下目录:

bin  examples  include  lib  man  share  shared 

另外可以进入/usr/local/rrdtool/examples/, run一个例子,看看是否真的安装成功了

# cd /usr/local/rrdtool/examples/
# ./stripes.pl
# ls -l
会出现一个stripes.png

三、安装gmetad

a.  b.  c.  步骤与安装gmond一样

d. 进入ganglia文件夹进行安装

#cd ganglia

#./configure –with-librrd=/usr/local/rrdtool –sysconfdir=/etc/ganglia –with-gmetad

#make

#make install

#cp gmetad/gmetad.init /etc/rc.d/init.d/gmetad

#cp gmetad/gmetad.conf /etc/ganglia/gmetad.conf

#mkdir -p /var/lib/ganglia/rrds

#chown nobody –R /var/lib/ganglia/rrds

#chkconfig –add gmetad

#chkconfig –list gmetad

此时,如果正确安装,会出现GMETAD  0:off 1:off 2:on 3:on 4:on 5:on 6:off

            启动gmetad:      /etc/rc.d/init.d/gmetad start

此时,会显示    Starting GANGLIA gmetad: [ OK ]

转载1

参考

分布式监控系统ganglia配置文档

一、Ganglia的组件

Ganglia包括如下程序,他们之间通过XML格式传递监控数据,达到监控效果。 

Gmetad 这个程序负责收集各个cluster的数据,并更新到rrd数据库中。 

Gmond 收集本机的监控数据,发送到其他机器上。收集其他机器的监控数据,供Gmetad读取。默认监听端口8649 

web front-end 一个基于web的监控界面,需要和Gmetad安装在同一个节点上,从Gmetad取数据,并且读取rrd数据库,生成图片,显示出来。 

二、Ganglia的工作模式

Ganglia的收集数据工作可以工作在单播(unicast)或多播(multicast)模式下,默认为多播模式。 

单播:发送自己收集到的监控数据到特定的一台或几台机器上,可以跨网段 

多播:发送自己收集到的监控数据到同一网段内所有的机器上,同时收集同一网段内的所有机器发送过来的监控数据。因为是以广播包的形式发送,因此需要同一网段内。但同一网段内,又可以定义不同的发送通道。

三、Ganglia的安装

Ganglia的安装非常简单,分为监控管理端(Gmetad)和客户端(Gmond)安装两部分,已经写成安装脚本,这里不在描述。

推荐安装版本是ganglia-3.4.0,可以在http://sourceforge.net/projects/ganglia/files/下载安装。

四、Ganglia的配置

这里介绍一个简单的Ganglia配置构架,即一个监控管理端和多个客户端,我们假定gmond工作在多播模式,并且有一个Cluster1的集群,里面有10台服务器(从host1到host10),在同一个网段内。

 

1、监控管理端配置

监控管理端的配置文件是gmetad.conf,在安装Ganglia的etc目录下可以找到,这个文件配置非常简单,介绍如下:

data_source "Cluster1" host1 host2

xml_port 8651

interactive_port 8652

rrd_rootdir "/var/lib/ganglia/rrds"

data_source参数定义了集群名字,以及集群中的节点。由于采用multicast模式,每台gmond节点都有本Cluster1内节点机器的所有监控数据,因此不需要把所有节点写入data_source中。建议写入不低于2个,在host1节点死机的时候,会自动找host2节点取数据。

xml_port定义了一个收集数据汇总的交互端口,如果不指定,默认是8651,可以通过telnet这个端口得到监控管理端收集到的客户端的所有数据。

interactive_port 定义了Web端获取数据的端口,这个端口在配置Ganglia的web监控界面时需要指定。

rrd_rootdir参数定义了rrd数据库的存放路径,gmetad收集到监控数据后,会更新到该目录下的对应的rrd数据库中。

上面通过data_source参数定义了一个监控集群,如果要监控多个应用系统,可以通过如下方式定义:

data_source "my cluster" 10 localhost  my.machine.edu:8649  1.2.3.5:8655

data_source "my grid" 50 1.3.4.7:8655 grid.org:8651 grid-backup.org:8651

data_source "another source" 1.3.4.7:8655  1.3.4.8

在定义集群节点的时候,可以采用主机名、IP地址等形式,也可以加端口,如果不加端口的话,默认是8649端口,同时可以设定采集数据的频率,如上面的“10 localhost、50 1.3.4.7:8655”等,分别表示每隔10秒钟、50秒钟采集一次数据。

 

2、客户端配置

客户端监控安装完成后,配置文件位于安装Ganglia的etc目录下,名称为gmond.conf,这个配置文件稍微复杂,介绍如下:

globals {

  daemonize = yes        #以后台的方式运行

  setuid = yes

  user = nobody          #运行gmond的用户

  debug_level = 0        #调试级别

  max_udp_msg_len = 1472

  mute = no            #哑巴,本节点将不会再广播任何自己收集到的数据到网络上

  deaf = no             #聋子,本节点将不再接收任何其他节点广播的数据包

  allow_extra_data = yes

  host_dmax = 0 /*secs */

  cleanup_threshold = 300 /*secs */

  gexec = no             #是否使用gexec

  send_metadata_interval = 0

}

 

 

cluster {

  name = "Cluster1"     #本节点属于哪个cluster

  owner = "junfeng"     #谁是该节点的所有者

  latlong = "unspecified"   #在地球上的坐标,经度、纬度?

  url = "unspecified"

}

 

host {

  location = "unspecified"  

 }

 

udp_send_channel {       #udp包的发送通道

  mcast_join = 239.2.11.71   #多播,工作在239.2.11.71通道下。如果使用单播模式,则要写host = host1,单播模式下也可以配置多个udp_send_channel

  port = 8649            #监听端口

  ttl = 1

}

 

udp_recv_channel {           #接收udp包配置

  mcast_join = 239.2.11.71   #同样工作在239.2.11.71通道下

  port = 8649                #监听端口

  bind = 239.2.11.71         #绑定

}

 

 

tcp_accept_channel {

  port = 8649               #通过tcp协议监听的端口,远端可以通过链接8649端口得到监控数据

}

 

3、Ganglia之Web端配置

 

Ganglia的web监控界面是基于PHP的,因此需要安装PHP环境,PHP环境的安装不在介绍,可以在http://sourceforge.net/projects/ganglia/files/下载ganglia-web,然后放到web根目录即可,推荐下载ganglia-web-3.5.7版本。

配置ganglia的web界面比较简单,只需要修改几个php文件即可,首先第一个是conf_default.php,可以将conf_default.php重命名为conf.php,也可以保持不变,ganglia的web默认先找conf.php,找不到会继续找conf_default.php,需要修改的内容如下:

$conf['gmetad_root'] = "/var/lib/ganglia";
# ganglia web根目录

$conf['rrds'] = "${conf['gmetad_root']}/rrds";
#ganglia web读取rrds数据库的路径

$conf['dwoo_compiled_dir'] = "${conf['gmetad_root']}/dwoo/compiled";
#需要777权限

$conf['dwoo_cache_dir'] = "${conf['gmetad_root']}/dwoo/cache";
#需要777权限

$conf['rrdtool'] = "/opt/rrdtool/bin/rrdtool";
#指定rrdtool的路径

$conf['graphdir']= $conf['gweb_root'] . '/graph.d';
#生成图形模板目录

$conf['ganglia_ip'] = "127.0.0.1"; #gmetad服务器的地址

$conf['ganglia_port'] = 8652; #gmetad服务器的交互式提供监控数据端口发布

 

五、管理ganglia

 

所有配置操作完成后,即可启动ganglia服务了,首先在监控管理端启动gmetad服务:

/etc/init.d/gmetad start

接着启动apache的web服务:

/usr/local/apache2/bin/apachectl start

最后在每个客户端启动gmond服务:

/etc/init.d/gmond start

最后附上一张web截图:

 

转载2

时间: 2024-08-10 14:57:21

如何在集群中安装Ganglia的相关文章

安装sentry报错-CDH集群中安装sentry,重启sentry一直起不来

问题描述 CDH集群中安装sentry,重启sentry一直起不来 1.在CDH集群中安装sentry重启时报错,以下是报错信息: Tue Apr 21 09:40:21 CST 2015 JAVA_HOME=/usr/java/jdk1.7.0_45-cloudera using /usr/java/jdk1.7.0_45-cloudera as JAVA_HOME using 5 as CDH_VERSION Debug is true storeKey true useTicketCach

《Hadoop集群与安全》一2.1 在Hadoop集群中配置操作系统

2.1 在Hadoop集群中配置操作系统 正如之前所提到的,Hadoop能够运行在几乎所有Linux版本的系统上.本章随后的讲解会将重点放在CentOS 6.x上,CentOS和Red Hat是Hadoop相关产品安装最为普及的平台.要掌握这些步骤并不难,对于Debian系统所有与配置Hadoop组件的步骤都是一致的,因此读者可以根据自身需求替换对应的包管理器. 2.1.1 选择和设置文件系统 现代Linux系统支持多种不同的文件系统:如EXT3.EXT4.XFS.BTRFS,等等.针对特定的工

Hadoop-2.8.0集群搭建、hadoop源码编译和安装、host配置、ssh免密登录、hadoop配置文件中的参数配置参数总结、hadoop集群测试,安装过程中的常见错误

25.集群搭建 25.1 HADOOP集群搭建 25.1.1集群简介 HADOOP集群具体来说包含两个集群:HDFS集群和YARN集群,两者逻辑上分离,但物理上常在一起 HDFS集群: 负责海量数据的存储,集群中的角色主要有NameNode / DataNode YARN集群: 负责海量数据运算时的资源调度,集群中的角色主要有 ResourceManager /NodeManager 25.1.2服务器准备 本案例使用虚拟机服务器来搭建HADOOP集群,所用软件及版本: ü Vmware 11.

一:MetaMq集群中单个节点的安装配置示意图

MetaMQ集群一个节点的安装和配置示意图[1]:下载metaMQ的安装包[2]:进行metaMq的解压,重命名为  并进入真正的主目录,该mq由于是阿里开源产品,所以目录很深[3]:进行metaMq的环境变量配置[4]:进入metaMq的配置文件存放目录[5]:进入conf目录进行该文件的配置 server.ini[6]:相关的metaMQ的集群节点中的某一台机器的配置文件详细介绍,其他集群在metaMQ的相关配置有区别,其他可以一样[7]由于metaMQ集群依赖的是zookeeper集群,所

集群监控系统Ganglia应用案例

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://chenguang.blog.51cto.com/350944/1330114 集群监控系统Ganglia应用案例 --我们把集群系统投入生产环境后,这时就需要一套可视化的工具来监视集群系统,这将有助于我们迅速地了解机群的整体配置情况,准确地把握机群各个监控节点的信息,全面地察看监控节点的性能指标,使机群系统具有较高的管理性.监视系统的主要目标是从各个监控节点采集监控信息,如CP

如何在oracle集群中更换私有网络的网卡

  如何在oracle 集群中更换私有网络的网卡. 今天是2014-03-17,目前学习进度也正在紧锣密鼓的进行着,今天把一小部分实验在做一下记录一下笔记. 我们知道RAC网络有私有网络和公用网络,公用网络提供客户访问请求,私用网络提供oracle 的cache fusion和节点心跳等作用,因为在11G R2可以执行4个private network 进行cache fusion. 但在刚刚开始安装的时候进行了忽略,那么安装之后如何修改呢?且该环节可以模拟oracle RAC怎么添加私用网卡,

更改oracle集群中的的公用/互联IP子网配置

可使用oifcfg 添加或删除OCR 中的网络接口信息: $ /bin/oifcfg getif eth0 139.2.156.0 global public eth1 192.168.0.0 global cluster_interconnect $ oifcfg delif -global eth0 $ oifcfg setif –global eth0/139.2.166.0:public $ oifcfg delif –global eth1 $ oifcfg setif –global

《Spark大数据处理:技术、应用与性能优化》——第2章 Spark集群的安装与部署2.1 Spark的安装与部署

第2章 Spark集群的安装与部署 Spark的安装简便,用户可以在官网上下载到最新的软件包. Spark最早是为了在Linux平台上使用而开发的,在生产环境中也是部署在Linux平台上,但是Spark在UNIX.Windwos和Mac OS X系统上也运行良好.不过,在Windows上运行Spark稍显复杂,必须先安装Cygwin以模拟Linux环境,才能安装Spark. 由于Spark主要使用HDFS充当持久化层,所以完整地使用Spark需要预先安装Hadoop.下面介绍Spark集群的安装

E-MapReduce集群中HDFS服务集成Kerberos

本文介绍在E-MapReduce集群中HDFS服务集成Kerberos. 前置: 创建E-MapReduce集群,本文以非HA集群的HDFS为例 HDFS服务在hdfs账号下启动 HDFS软件包路径/usr/lib/hadoop-current,配置在/etc/emr/hadoop-conf/ 一. 安装 配置Kerberos 1. 安装Kerberos master节点执行: sudo yum install krb5-server krb5-devel krb5-workstation -y