1.Ganglia了解

安装部署Ganglia之前我们要了解下Ganglia是什么

对于这个工具,大家可能比较陌生,但是它功能非常强大,如果我们想收集所有服务器、网络设备的数据,那么ganglia绝对是首选,在深入学习之前,还是先从基础概念了解起吧!

Ganglia是一款为HPC(高性能计算)集群而设计的可扩展的分布式监控系统,它可以监视和显示集群中的节点的各种状态信息,它由运行在各个节点上的gmond守护进程来采集CPU 、内存、硬盘利用率、I/O负载、网络流量情况等方面的数据,然后汇总到gmetad守护进程下,使用rrdtool存储数据,最后将历史数据以曲线方式通过PHP页面呈现。

Ganglia的特点如下:

 良好的扩展性,分层架构设计能够适应大规模服务器集群的需要
 负载开销低,支持高并发
 广泛支持各种操作系统(UNIX等)和cpu架构,支持虚拟机

二、Ganglia组成

Ganglia监控系统有三部分组成,分别是gmond、gmetad、webfrontend,作用如下。

 gmond: 即为ganglia monitoring daemon,是一个守护进程,运行在每一个需要监测的节点上,用于收集本节点的信息并发送到其他节点,同时也接收其他节点发过了的数据,默认的监听端口为8649。
 gmetad: 即为ganglia meta daemon,是一个守护进程,运行在一个数据汇聚节点上,定期检查每个监测节点的gmond进程并从那里获取数据,然后将数据指标存储在本地RRD存储引擎中。
 webfrontend: 是一个基于web的图形化监控界面,需要和Gmetad安装在同一个节点上,它从gmetad取数据,并且读取RRD数据库,通过rrdtool生成图表,用于前台展示,界面美观、丰富,功能强大。

三、Ganglia安装

首先我们要确定监控管理端和客户端主机,监控管理端需要安装gmetad和web,客户端主机我们需要安装gmond。当然如果你的监控管理端也有数据的话那也要安装gmetad。

Ganglia的安装很简单,可以通过源码包和yum源两种方式进行安装。yum源方式安装方便,可以自动安装依赖关系,但是版本往往不是最新的,而通过源码方式,可以安装最新版的Ganglia。下面具体介绍一下这两种安装方式。

这里我们就通过yum源来安装Ganglia,因为通过yum安装很轻松简单

3.1扩展yum源

CentOS系统中默认的yum源并没有包含Ganglia,所以我们必须安装扩展的yum源。从下面这个地址下载Linux附加软件包(EPEL),然后安装扩展yum源(所有节点):

[root@node1 ~]# wget http://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm

[root@node1 ~]# rpm -ivh epel-release-latest-7.noarch.rpm

3.2Ganglia安装

这里都是使用的root用户安装的

#监控管理端 yum -y install ganglia-gmetad.x86_64

#在需要监控的客户端主机 yum -y install ganglia-gmond.x86_64

#安装为web服务的节点 yum -y install ganglia-web(和gmetad一起安装在一个节点上)

示例:

监控端节点上(master节点)

yum -y install ganglia-gmetad.x86_64

yum -y install ganglia-gmond.x86_64

yum -y install ganglia-web

其他客户端节点上(想要监控的节点)

yum -y install ganglia-gmond.x86_64

四、Ganglia配置

安装完成后我们就开始配置里面的内容了

4.1Ganglia配置文件介绍

Ganglia的配置文件主要有两个,分别是监控管理端的gmetad.conf和客户端的gmond.conf文件。根据Ganglia安装方式的不同,配置文件的路径也不相同,通过yum方式安装的Ganglia,默认的配置文件位于/etc/ganglia下,而通过源码方式安装的Ganglia,配置文件路径位于ganglia安装路径的etc目录下,在监控管理端,只需要配置gmetad.conf文件即可,而在客户端也只需要配置gmond.conf文件就行了。

配置完gmetad和gmond之后我们要配置web了,这样才能可视化的看见我们的系统状况

4.2gmetad配置

我们先配置gmetad的配置文件

vim /etc/ganglia/gmetad.conf

找到下面的内容并且修改

data_source "mccps" clu201 clu202

这里的mccps是你这套集群你想取的名字,而后面的clu201和202就是你监控的节点的ip映射或者ip

4.3gmond配置

vim /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.*/
cluster {name = "mccps"      #与前面配置中的集群名一致owner = "unspecified"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.  Gmondused 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.  Without# 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.3.1.201     #绑定监控客户端的主机IP(clu201)port = 8649ttl = 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 = 10.3.1.201       #绑定监控客户端的主机IP(clu201)#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 = 10485760
}

这里只用配置name和host以及bind,并且把两个mcast_join和bind以及retry_bind注释掉

配置完后分发到其他的gmond上,因为只需要一份配置文件,全部的gmond节点都保持相同的配置文件就好了。

4.4web配置

vim /etc/httpd/conf.d/ganglia.conf

<Location /ganglia>Order deny,allowRequire all granted#Allow from all#Deny from all#Allow from 127.0.0.1#Allow from ::1# Allow from .example.com
</Location>

除了第一个其他的都注释掉然后加上Require all granted

五、配置hadoop和hbase

5.1修改hadoop的配置文件

vim /usr/hadoop/etc/hadoop/hadoop-metrics2.properties

首先把没有注释的配置文件注释掉然后在尾部加入以下内容

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

*.sink.ganglia.slope=jvm.metrics.gcCount=zero,jvm.metrics.memHeapUsedM=both    
*.sink.ganglia.dmax=jvm.metrics.threadsBlocked=70,jvm.metrics.memHeapUsedM=40

namenode.sink.ganglia.servers=192.168.10.90:8649          # namenode 所在的节点 多个用英文下的逗号隔开
resourcemanager.sink.ganglia.servers=192.168.10.91:8649   # resourcemanager 所在的节点

datanode.sink.ganglia.servers=192.168.10.90:8649,192.168.10.91:8649,192.168.10.92:8649    # datanode 所在的节点 多个用英文下的逗号隔开
nodemanager.sink.ganglia.servers=192.168.10.90:8649,192.168.10.91:8649,192.168.10.92:8649
maptask.sink.ganglia.servers=192.168.10.90:8649

然后分发到所有节点

5.2配置hbase配置文件

vim /usr/hbase/conf/hadoop-metrics2-hbase.properties

首先把没有注释的配置文件注释掉然后在尾部加入以下内容

*.sink.ganglia.class=org.apache.hadoop.metrics2.sink.ganglia.GangliaSink31    
*.sink.ganglia.period=10  
hbase.sink.ganglia.period=10
hbase.sink.ganglia.servers=192.168.10.90   # hbase 主节点信息

5.3避坑

自此所有的配置都完成了,但是!你要保证你的防火墙关了

还有一个坑就是,linux的selinux防火墙一般都是没有关的,没关就会报如下错误

There was an error collecting ganglia data (127.0.0.1:8652): fsockopen error

所以我们可以通过以下命令去临时关闭(每次重启都需要设置),想要长久关闭请自行去找其他资料

setenforce 0

六、开启服务

先开启hadoop和hbase以及zookeeper

然后再开启ganglia

主节点:
[root@clu201 ~]# systemctl start httpd
[root@clu201 ~]# systemctl start gmetad
[root@clu201 ~]# systemctl start gmond子节点
[root@clu202 mca]# systemctl start gmond

安装了哪个服务就开启哪个服务

需要注意的是你的gmond要比gmetad先开启,全部的gmond开启后再开启gmetad

开启完毕后通过ip+/ganglia/ 去访问web

例如:192.168.10.90/ganglia/

最后访问到这个就成功了

本篇博客参考了分布式监控数据采集系统Ganglia实战 - 夫莱特 - 博客园 (cnblogs.com)

想要看更仔细的去看这篇博客,讲的很仔细。我这篇只是用自己的理解来部署的,但是所有的东西都是来源于上篇博客

Ganglia的安装与部署以及监控hbase相关推荐

  1. Ganglia 的安装与部署

    Flume部署Ganglia和网页权限问题解决 Flume 数据流监控 Ganglia 的安装与部署 Flume 数据流监控 Ganglia 的安装与部署 1) 安装 httpd 服务与 php [x ...

  2. Flume 监控之 Ganglia 的安装与部署

    安装httpd服务与php sudo yum -y install httpd php 安装其他依赖 sudo yum -y install rrdtool perl-rrdtool rrdtool- ...

  3. 傲云浏览器linux,Centos7安装部署zabbix监控软件

    目录 部署监控服务器 部署监控服务器Zabbix Server Web页面验证设置 部署监控服务器 一.安装LNMP环境 Zabbix监控管理控制台需要通过Web页面展示出来,并且还需要使用MySQL ...

  4. 【逗老师带你学IT】PRTG安装教程-部署简单功能强大的监控软件

    一.PRTG简介 个人总结PRTG的优点: 1.脑残化部署,Windows下直接双击安装,剩下的全靠点点点. 2.脑残化使用,全程点点点即可完成添加加设备.加监控点. 3.强大的性能,支持数万个传感器 ...

  5. grafana graphite statsd搭建安装部署 实时监控_亲测成功

    grafana graphite statsd搭建安装部署 实时监控_亲测成功 docker部署grafana graphite stastd实时监控告警配置_亲测成功 下载软件 # 下载carbon ...

  6. Centos7安装部署zabbix监控软件

    目录 部署监控服务器 部署监控服务器Zabbix Server Web页面验证设置 部署监控服务器 一.安装LNMP环境 Zabbix监控管理控制台需要通过Web页面展示出来,并且还需要使用MySQL ...

  7. ganglia离线安装_Ganglia 监控实战!

    1.启用EPEL 仓库 ,然后安装 Ganglia 和相关工具: # yum update && yum install epel-release # yum install gang ...

  8. CentOS集群上安装Ganglia-3.6.1监控

    CentOS集群上安装Ganglia-3.6.1监控 1.安装依赖 1.建议使用超级用户安装 yum -y install apr-devel apr-util check-devel cairo-d ...

  9. pinpoint2.3.3安装和部署

    参考资料: pinpoint安装和部署 - 简书 pinpoint2.1.0版本安装部署_事在人为的技术博客_51CTO博客 首先感谢2篇文章的启发,但是部署中还是遇到了一些问题,单一参考一篇文章并未 ...

最新文章

  1. nyoj——297(期望)
  2. php中的核心函数有哪些,PHP内核探索:函数的分类
  3. [LeetCode] Binary Tree Postorder Traversal 二叉树的后序遍历
  4. 通过改变环境来改变自己的方法:屡试不爽
  5. 【.net 深呼吸】自定义应用程序配置节
  6. SpringMVC_文件上传
  7. 转://Oracle 复合压缩索引场景及性能对比
  8. windows系统上使用openssh client连接远程Linux服务器的日志分析
  9. haut-1280 诡异的迷宫
  10. mac最好用的markdown_「建议收藏」PCMaclinux,最好用Markdown编辑器清单
  11. init_cheap: VirtualAlloc pointer is null, Win32 error 487
  12. MySQL—一个单引号引发的MYSQL性能损失
  13. 获取0-1的加密的随机数
  14. mysql可以考什么证_MySQL有没有什么比较权威的认证考试呢?
  15. Marlin2.0.7的configuration.h中文说明
  16. 程序员3年工资从7千到2万2,晒出跳槽经历!网友:厉害
  17. 米发,免费域名转发 301重定向 URL跳转服务
  18. 智能家居系列之智能家居平台设计
  19. php 百度转高德经纬度,PHP腾讯地图经纬度转百度地图经纬度
  20. 使用Python pip怎么升级pip

热门文章

  1. 亿级流量架构演进实战 | 从零构建亿级流量API网关 01
  2. 国内高校计算机教育存在哪些问题?
  3. 第一天:人人都需要一堂理财课
  4. 顶尖os2x设置校正_如何使用OS X预览版对照片进行快速色彩校正
  5. java中实现与USB硬件通信
  6. python生成二维码代码_python 一行代码生成 二维码
  7. 看看韩国超人气美女李贞贤?
  8. ShellExecuteEx完美封装,程序提权执行,脚本vbs、bat、exe均可执行
  9. STM32输出SPWM波,HAL库,cubeMX配置,滤波后输出1KHz正弦波
  10. unpooled与pooled