Ganglia的安装与部署以及监控hbase
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=40namenode.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相关推荐
- Ganglia 的安装与部署
Flume部署Ganglia和网页权限问题解决 Flume 数据流监控 Ganglia 的安装与部署 Flume 数据流监控 Ganglia 的安装与部署 1) 安装 httpd 服务与 php [x ...
- Flume 监控之 Ganglia 的安装与部署
安装httpd服务与php sudo yum -y install httpd php 安装其他依赖 sudo yum -y install rrdtool perl-rrdtool rrdtool- ...
- 傲云浏览器linux,Centos7安装部署zabbix监控软件
目录 部署监控服务器 部署监控服务器Zabbix Server Web页面验证设置 部署监控服务器 一.安装LNMP环境 Zabbix监控管理控制台需要通过Web页面展示出来,并且还需要使用MySQL ...
- 【逗老师带你学IT】PRTG安装教程-部署简单功能强大的监控软件
一.PRTG简介 个人总结PRTG的优点: 1.脑残化部署,Windows下直接双击安装,剩下的全靠点点点. 2.脑残化使用,全程点点点即可完成添加加设备.加监控点. 3.强大的性能,支持数万个传感器 ...
- grafana graphite statsd搭建安装部署 实时监控_亲测成功
grafana graphite statsd搭建安装部署 实时监控_亲测成功 docker部署grafana graphite stastd实时监控告警配置_亲测成功 下载软件 # 下载carbon ...
- Centos7安装部署zabbix监控软件
目录 部署监控服务器 部署监控服务器Zabbix Server Web页面验证设置 部署监控服务器 一.安装LNMP环境 Zabbix监控管理控制台需要通过Web页面展示出来,并且还需要使用MySQL ...
- ganglia离线安装_Ganglia 监控实战!
1.启用EPEL 仓库 ,然后安装 Ganglia 和相关工具: # yum update && yum install epel-release # yum install gang ...
- CentOS集群上安装Ganglia-3.6.1监控
CentOS集群上安装Ganglia-3.6.1监控 1.安装依赖 1.建议使用超级用户安装 yum -y install apr-devel apr-util check-devel cairo-d ...
- pinpoint2.3.3安装和部署
参考资料: pinpoint安装和部署 - 简书 pinpoint2.1.0版本安装部署_事在人为的技术博客_51CTO博客 首先感谢2篇文章的启发,但是部署中还是遇到了一些问题,单一参考一篇文章并未 ...
最新文章
- nyoj——297(期望)
- php中的核心函数有哪些,PHP内核探索:函数的分类
- [LeetCode] Binary Tree Postorder Traversal 二叉树的后序遍历
- 通过改变环境来改变自己的方法:屡试不爽
- 【.net 深呼吸】自定义应用程序配置节
- SpringMVC_文件上传
- 转://Oracle 复合压缩索引场景及性能对比
- windows系统上使用openssh client连接远程Linux服务器的日志分析
- haut-1280 诡异的迷宫
- mac最好用的markdown_「建议收藏」PCMaclinux,最好用Markdown编辑器清单
- init_cheap: VirtualAlloc pointer is null, Win32 error 487
- MySQL—一个单引号引发的MYSQL性能损失
- 获取0-1的加密的随机数
- mysql可以考什么证_MySQL有没有什么比较权威的认证考试呢?
- Marlin2.0.7的configuration.h中文说明
- 程序员3年工资从7千到2万2,晒出跳槽经历!网友:厉害
- 米发,免费域名转发 301重定向 URL跳转服务
- 智能家居系列之智能家居平台设计
- php 百度转高德经纬度,PHP腾讯地图经纬度转百度地图经纬度
- 使用Python pip怎么升级pip