我是靠谱客的博主 干净黄蜂,最近开发中收集的这篇文章主要介绍Ganglia安装部署,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

ganglia安装部署

一、ganglia安装

1、在集群的主节点上安装ganglia-webfrontend和ganglia-monitor

sudo apt-get install ganglia-webfrontend ganglia-monitor
在主节点上安装ganglia-webfrontend和ganglia-monitor。在其他监视节点上,只需要安装ganglia-monitor即可。然后将ganglia的文件链接到apache的默认目录下:

sudo ln -s /usr/share/ganglia-webfrontend /var/www/ganglia

2. 安装ganglia-monitor

在其他监视节点上,只需要安装ganglia-monitor

sudo apt-get install ganglia-monitor
3. Ganglia配置

配置文件  gmond.conf

在每个节点上都需要配置/etc/ganglia/gmond.conf,配置相同如下所示:

sudo vim /etc/ganglia/gmond.conf

修改后的/etc/ganglia/gmond.conf

globals {                    
  daemonize = yes  ##以后台的方式运行            
  setuid = yes             
  user = hadoop     #运行Ganglia的用户              
  debug_level = 0               
  max_udp_msg_len = 1472        
  mute = no             
  deaf = no             
  host_dmax = 0 /*secs */ 
  cleanup_threshold = 300 /*secs */ 
  gexec = no             
  send_metadata_interval = 10     #发送数据的时间间隔
} 

/* If a cluster attribute is specified, then all gmond hosts are wrapped inside 
* of a <CLUSTER> tag.  If you do not specify a cluster tag, then all <HOSTS> will 
* NOT be wrapped inside of a <CLUSTER> tag. */ 
cluster { 
  name = "hbase-cluster"         #集群名称
  owner = "hadoop"               #运行Ganglia的用户
  latlong = "unspecified" 
  url = "unspecified" 
} 

/* The host section describes attributes of the host, like the location */ 
host { 
  location = "unspecified" 
} 

/* Feel free to specify as many udp_send_channels as you like.  Gmond 
   used to only support having a single channel */ 
udp_send_channel { 
  #mcast_join = 239.2.11.71     #注释掉组播
  host = hbase1                 #发送给安装gmetad的机器(填写主节点的hostname)
  port = 8649                   #监听端口
  ttl = 1 
} 

/* 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 = 239.2.11.71 
} 

/* You can specify as many tcp_accept_channels as you like to share 
   an xml description of the state of the cluster */ 
tcp_accept_channel { 
  port = 8649 
}

配置文件  gmetad.conf

在主节点上还需要配置/etc/ganglia/gmetad.conf,这里面的名字hadoop-cluster和上面gmond.conf中name应该一致。 

/etc/ganglia/gmetad.conf

sudo vim /etc/ganglia/gmetad.conf
添加以下内容
data_source "hadoop-cluster" 10 hbase1 hbase2 hbase3 hbase4 hbase5 hbase6 hbase7
setuid_username "nobody"
rrd_rootdir "/var/lib/ganglia/rrds"
gridname "hadoop-cluster"

注: data_source属性。data_source属性是gmetad配置的核心。每一行data_source描述一个gmetad收集信息的gmond集群或gmetad网格。gmetad能够自动区别集群和网格,所以二者的data_source语法相同。当gmetad检测到data_source引用一个集群时,gmetad将为data_source保留一整套轮询数据库(Round RobinDatabase)。然而,当gmetad检测到data_source引用一个网格时,gmetad将只保留概要性的RRD。

每个data_source由3个字段组成。第一个字段为唯一标识data_source的字符串;第二个字段为指定轮询间隔(单位:秒)的数字;第三个字段为以空格分开的所要轮询数据的主机列表,这些地址以IP地址或DNS主机名的形式指定,并可能添加“:端口号”形式的后缀,该端口号指明gmond的tcp_accept_channel所在位置。如果未指明端口号,gmetad将尝试连接tcp/8649。

注意: gmetad会依次检测指定主机,并从第一台响应主机开始收集状态数据,所以无需在data_source定义里指定集群内的所有主机。假若有节点失效,通常指定两三个主机也就足够保证数据的收集。

4. Hbase配置

在所有的hbase节点中均配置hadoop-metrics2-hbase.properties,配置如下:

# syntax: [prefix].[source|sink].[instance].[options]
# See javadoc of package-info.java for org.apache.hadoop.metrics2 for details

#*.sink.file*.class=org.apache.hadoop.metrics2.sink.FileSink
# default sampling period
#*.period=10

# Below are some examples of sinks that could be used
# to monitor different hbase daemons.

# hbase.sink.file-all.class=org.apache.hadoop.metrics2.sink.FileSink
# hbase.sink.file-all.filename=all.metrics

# hbase.sink.file0.class=org.apache.hadoop.metrics2.sink.FileSink
# hbase.sink.file0.context=hmaster
# hbase.sink.file0.filename=master.metrics

# hbase.sink.file1.class=org.apache.hadoop.metrics2.sink.FileSink
# hbase.sink.file1.context=thrift-one
# hbase.sink.file1.filename=thrift-one.metrics

# hbase.sink.file2.class=org.apache.hadoop.metrics2.sink.FileSink
# hbase.sink.file2.context=thrift-two
# hbase.sink.file2.filename=thrift-one.metrics

# hbase.sink.file3.class=org.apache.hadoop.metrics2.sink.FileSink
# hbase.sink.file3.context=rest
# hbase.sink.file3.filename=rest.metrics


*.sink.ganglia.class=org.apache.hadoop.metrics2.sink.ganglia.GangliaSink31  
*.sink.ganglia.period=10  

hbase.sink.ganglia.period=10  
hbase.sink.ganglia.servers=master:8649

5. 启动Ganglia

先需要重启hbase 。在各个节点上启动gmond服务,主节点还需要启动gmetad服务。

使用apt-get方式安装的Ganglia,可以直接用service方式启动。

sudo service gmetad start(在安装了ganglia-webfrontend的机器上启动)
sudo service ganglia-monitor start(每台机器都需要启动)
注意:若修改了配置,则需要每一台去重启一下ganglia-monitor

8. 检验

登录浏览器查看:http://master/ganglia,如果Hosts up为7即表示安装成功。

若安装不成功,有几个很有用的调试命令:

以调试模式启动gmetad:gmetad -d 7

查看gmetad收集到的XML文件:telnet master 8649


这里可能会出现一个问题,就是有时候会出现gmetad启动之后,界面并没有节点的监控信息,这个时候可以选择再去重启下每个节点的ganglia-monitor试试,然后再重启gmetad。






最后

以上就是干净黄蜂为你收集整理的Ganglia安装部署的全部内容,希望文章能够帮你解决Ganglia安装部署所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(59)

评论列表共有 0 条评论

立即
投稿
返回
顶部