ganglia监控hadoop集群配置

15 篇文章 1 订阅
7 篇文章 0 订阅

1:ganglia简介

ganglia是UC Berkeley发起的一个开源集群监控项目,设计用于测量和监控数以千计的节点。
主要是采用监控系统性能,如cpu,内存,硬盘使用率,I/O负载,网络流量情况等。
ganglia采用多层次的结构模式,是的ganglia可以实现良好的扩展。
gmond带来的负载非常少,这使得它成为在集群中各台计算机上运行的 一段代码,而不会影响用户性能。

2:ganglia的组件

ganglia监控套件主要包括三个部分:
gmond
gmetad
web接口,通常被称为ganglia-web
模型:

2.1:gmond简介:

gmond:是一个守护进程,运行在每一个需要监测的节点上,收集监测统计,发送和接受在同一个组播或者单播通道上的统计信息。
如果作为发送者(mute=no),会收集基本指标,比如系统负载(load_one),cpu利用率。
如果作为接受者(deaf=no),会聚合所有从别的主机上发来的指标,并把它们都保存在内存缓冲区中

2.2:gmetad简介:

也是一个守护进程;
他会定期检查gmond,从那里拉取数据,并将他们的指标存储在RRD存储引擎中。
也可以查询多个集群并聚合指标。

2.3:ganglia_web简介

一般安装在有gmetad运行的机器上,以便读取RRD文件。
浏览web页面时调用php脚本,从RRDTool数据库中抓取信息,动态生成各类性能监控图表。

3:ganglia安装:

3.1:主节点安装:

  • epel包的安装:yum install -y epel-release(解决不能yum安装某些安装包的问题)
  • gmetad的安装:yum install -y ganglia-gmetad ganglia-devel 
  • gmond的安装:yum install -y ganglia-gmond
  • rrdtool的安装:yum install -y rrdtool
  • httpd服务器的安装:yum install -y httpd
  • ganglia-web及php安装:yum install -y ganglia-web php

3.2:从节点安装:

  • yum -y install epel-release
  • yum -y install ganglia-mond

3.3:安装配置目录 

  • ganglia配置文件目录:/etc/ganglia
  • rrd数据库存放目录:/var/lib/ganglia/rrds
  • httpd主站点目录:/var/www/html
  • ganglia-web安装目录:/usr/share/ganglia
  • ganglia-web配置目录:/etc/httpd/conf.d/ganglia.conf
  • ganglia网站目录:/usr/share/ganglia

4:ganglia配置

注:集群环境:
ServerNameHadoop ClusterZookeeperHBase Cluster
server1Name node & Resource manager,secondary name nodeyesmaster
server2Data node & Node manageryesRegion server
server3Data node & Node manageryesRegion server
server4Data node & Node manageryesRegion server

4.1:配置gmond.conf

配置文件位于/etc/ganglia/gmond.conf
主节点配置:
cluster {
  name = "hadoop cluster"
  ...
}
udp_send_channel {
  # the host who gather this cluster's monitoring data and send these data   to gmetad node
  #注释掉多播模式的,以下出现这个都要注释掉
 #mcast_join = 239.2.11.71
 #添加单播模式的
 host = server1 
 port = 8649
}
udp_recv_channel {
  port = 8649
}
tcp_accept_channel {
  port = 8649
}
监控节点配置:
cluster {
  name = "hadoop cluster"
#name随意取,但是保证每个节点的名字相同
  ...
}
udp_send_channel {
  # the host who gather this cluster's monitoring data and send these data   to gmetad node
 host = server1
#注释掉组播,添加host=server1(主节点的主机名)
 port = 8649
}
udp_recv_channel {
  port = 8649
#注释掉多余的,留下端口即可
}
tcp_accept_channel {
  port = 8649
}

4.2:修改ganglia-web的访问权限

修改/etc/httpd/conf.d/ganglia.conf 
  Alias /ganglia /usr/share/ganglia 
  <Location /ganglia>
   Require all granted   
   #Require ip 10.1.2.3   
   #Require host example.org 
  </Location>

4.3:配置gmetad

只需要在主节点配置。
data_source "Hadoop cluster" server1:8649 server2:8649 server3:8649 server4:8649
data_source:此参数定义了集群的名字,以及集群中的节点,

5:hadoop配置:

主节点配置(注释掉里面的内容直接粘贴修改
配置文件:hadoop配置文件目录下的hadoop-metrics2.properties

namenode.sink.ganglia.servers=server1:8649
resourcemanager.sink.ganglia.servers=server1:8649
mrappmaster.sink.ganglia.servers=server1:8649
jobhistoryserver.sink.ganglia.servers=server1:8649
*.sink.ganglia.class=org.apache.hadoop.metrics2.sink.ganglia.GangliaSink31
*.sink.ganglia.period=10
*.sink.ganglia.supportsparse=true
*.sink.ganglia.slope=jvm.metrics.gcCount=zero,jvm.metrics.memHeapUsedM=both
*.sink.ganglia.dmax=jvm.metrics.threadsBlocked=70,jvm.metrics.memHeapUsedM=40

从节点配置:
datanode.sink.ganglia.servers=server1:8649
nodemanager.sink.ganglia.servers=server1:8649
*.sink.ganglia.class=org.apache.hadoop.metrics2.sink.ganglia.GangliaSink31
*.sink.ganglia.period=10
*.sink.ganglia.supportsparse=true
*.sink.ganglia.slope=jvm.metrics.gcCount=zero,jvm.metrics.memHeapUsedM=both
*.sink.ganglia.dmax=jvm.metrics.threadsBlocked=70,jvm.metrics.memHeapUsedM=40

6:Hbase配置

(注释掉里面的内容直接粘贴修改)
配置文件:hbase配置文件目录下的hadoop-metrics2.properties
每个节点均如下配置
*.sink.ganglia.class=org.apache.hadoop.metrics2.sink.ganglia.GangliaSink31  
*.sink.ganglia.period=10  
hbase.sink.ganglia.period=10  
hbase.sink.ganglia.servers=server1:8649
hbase.class=org.apache.hadoop.metrics2.sink.ganglia.GangliaSink31
hbase.period=10
hbase.servers==server1:8649
jvm.class=org.apache.hadoop.metrics2.sink.ganglia.GangliaSink31
jvm.period=10
jvm.servers==server1:8649
rpc.class=org.apache.hadoop.metrics2.sink.ganglia.GangliaSink31
rpc.period=10
rpc.servers==server1:8649


7:ganglia启动:

  主节点的启动

#  start httpd, gmetad, gmond

$ systemctl start httpd.service

$ systemctl start gmetad.service

$ systemctl start gmond.service

$ systemctl enable httpd.service

$ systemctl enable gmetad.service

$ systemctl enable gmond.service

 被监测节点的启动

#  start gmond

#systemctl enable gmond.service

#systemctl start gmond.service


8验证:

浏览器访问 {namenodeip}/ganglia 即可

效果如图



  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值