ganglia监控hadoop集群配置

血红的双手。 提交于 2019-11-28 04:30:54

本篇文章是参考网上别人的博客,加自己实践后记录下来的,免得自己又忘了,感谢互联网的分享精神,感谢大牛们的分享。


ganglia简介

名词说明
引用自此博客介绍

  • Metrics- 监控电脑的运行数据
  • Node - 一台电脑,或许拥有多个CPU,中文称之为节点。
  • Cluster - 一组节点,中文称之为簇。通常节点之间拥有达到G比特的高带宽,簇内通过组播协议,每个节点组播自己的数据,所以每个节点拥有整个簇的状态,这种冗余设计可以提高簇的鲁棒性。一般簇内节点为相同的系统和体系结构,由同一个管理员管理。
  • Grid - 一组簇,中文可称之为网格。网格的用处是在一个大范围内把各异构的簇通过宽带汇聚在一起。
    Ganglia的各种组成
功能 名称及配置文件 位置
数据采集器 名叫gmond(Ganglia MONitor Daemon)的服务程序,配置文件是/etc/ganglia/gmond.conf 位于每个Node上
数据混合收集器 名叫gmetad(Ganglia METAdata Daemon)的服务程序,配置文件是/etc/ganglia/gmetad.conf。它通过轮询收集gmond的数据,并聚合簇的各类信息,然后保存在本地rrdtool的数据库中 最好每个cluster都有一个gmetad,以便能构建多级网络
Web可视化工具 这是用PHP脚本实现的将数据可视化,并画出表格。可以是任何支持PHP、SSL和XML的web服务器。一般都用Apache2 web服务器 一般与gmetad部署在一个节点上
额外的高级工具 gmetric可以用来添加你需要监控的Node额外状态
gstat可以直接获得Ganglia的数据 每台需要这些功能的Node上

实验环境

机器 系统 软件
ip1 centos 7 gmetad + gmond +ganglia-web 3.7.2
ip2 centos 5 gmond 3.7.1
ip3 centos 5 gmond 3.7.1
ip4 centos 5 gmond 3.7.1
ip5 centos 5 gmond 3.7.1
ip6 centos 5 gmond 3.7.1
ip7 centos 5 gmond 3.7.1

ganglia安装配置

安装

  1. ip1 安装ganglia主节点
    • yum -y install epel-release
    • yum -y install rrdtool httpd
    • yum -y install ganglia-devel ganglia-gmetad ganglia-gmond
    • yum -y install php ganglia-web
  2. ip2-ip7 安装ganglia从节点
    • yum -y install epel-release
    • yum -y install ganglia-mond

配置

  • 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-web安装目录链接到httpd主站点目录
      将 ganglia-web 的 站 点 目 录 连 接 到 httpd 主 站 点 目 录 $ ln -s /usr/share/ganglia /var/www/html
    • 修改httpd主站点目录下ganglia站点目录的访问权限
      将 ganglia 站点目录访问权限改为 apache:apache,否则会报错
$  chown -R apache:apache /var/www/html/ganglia  $  chmod -R 755 /var/www/html/ganglia
- 修改rrd数据库存放目录访问权限 将 rrd 数据库存放目录访问权限改为 

$ chown -R ganglia:ganglia /var/lib/ganglia/rrds

- 修改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>
  • 配置/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          host = ip1   port = 8649  }     udp_recv_channel {        port = 8649   }     tcp_accept_channel {     port = 8649   }  

2.2 Hadoop cluster被监测节点的配置 配置/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        host = ip1          port = 8649   }    udp_recv_channel {     port = 8649   }    tcp_accept_channel {     port = 8649   }

Hadoop配置

主节点:

 # 修改/hadoop/etc/hadoop/hadoop-metrics2.properties  namenode.sink.ganglia.servers=ip1:8649 resourcemanager.sink.ganglia.servers=ip1:8649 mrappmaster.sink.ganglia.servers=ip1:8649 jobhistoryserver.sink.ganglia.servers=ip1: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=ip1:8649 nodemanager.sink.ganglia.servers=ip1: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相关信息

注意问题

  1. ganglia反应有点慢,每次重启后,数据得等一阵子才显示出来。这个也跟设置的有关,10秒一次显示
  2. 我本来配置每个节点都有gmond,cluster的信息发送到本地的gmond,由gmond发送给gmetad,但是一直不成功。我使用了telnet localhost 8649,能看到数据,但是gmetad就是不显示。暂时也没找到什么原因。

参考

[1] http://wenku.baidu.com/view/ca75df619b89680202d82577.html?re=view
[2] http://blog.cheyo.net/88.html
[3] http://yaoweibin2008.blog.163.com/blog/static/11031392008763256465/

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!