Hadoop生态圈-使用Ganglia监控flume中间件

                                         作者:尹正杰

版权声明:原创作品,谢绝转载!否则将追究法律责任。

一.Ganglia监控简介

  加州伯克利大学千禧计划的其中一个开源项目.是一个集群汇总监控用的的软件,和Cacti不同,cacti是详细监控集群中每台服务器的运行状态,而Ganglia是将集群中的服务器数据进行汇总然后监控。有时通过cacti或者zabbix看不出来的集群总体负载问题,却能够在Ganglia中体现。被监控的主机(即client)安装ganglia-gmond并启动该进程。服务器端需要安装gmetad和web程序。大致大构图如下:

二.部署Ganglia监控软件

1>.安装依赖包

[root@yinzhengjie ~]# yum -y install rrdtool perl-rrdtool rrdtool-devel apr-devel
2>.安装httpd服务与php
[root@yinzhengjie ~]# yum -y install httpd php

3>.升级yum源

[root@yinzhengjie ~]# rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
4>.安装ganglia
[root@yinzhengjie ~]# yum -y install ganglia-gmetad  ganglia-web ganglia-gmond

5>.编辑gmetad.conf配置文件

[root@yinzhengjie ~]# more /etc/ganglia/gmetad.conf | grep data_source | grep -v ^#
data_source "flume120.aggrx" 10.1.2.120
[root@yinzhengjie ~]#

6>.编辑 /etc/ganglia/gmond.conf配置文件,具体修改如下图所示。

7>.关闭防火墙和selinux

[root@yinzhengjie ~]# systemctl stop firewalld
[root@yinzhengjie ~]# systemctl disable firewalld
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
[root@yinzhengjie ~]#
[root@yinzhengjie ~]# sed -i 's#SELINUX=enforcing#SELINUX=disabled#' /etc/selinux/config
[root@yinzhengjie ~]#
[root@yinzhengjie ~]# cat /etc/selinux/config | grep SELINUX= | grep -v ^#
SELINUX=disabled
[root@yinzhengjie ~]#
[root@yinzhengjie ~]# getenforce
Disabled
[root@yinzhengjie ~]#
[root@yinzhengjie ~]#

8>.启动ganglia

[root@yinzhengjie ~]# systemctl start httpd
[root@yinzhengjie ~]#
[root@yinzhengjie ~]# systemctl enable httpd
Created symlink from /etc/systemd/system/multi-user.target.wants/httpd.service to /usr/lib/systemd/system/httpd.service.
[root@yinzhengjie ~]#
[root@yinzhengjie ~]#
[root@yinzhengjie ~]# systemctl start gmetad
[root@yinzhengjie ~]#
[root@yinzhengjie ~]# systemctl enable gmetad
Created symlink from /etc/systemd/system/multi-user.target.wants/gmetad.service to /usr/lib/systemd/system/gmetad.service.
[root@yinzhengjie ~]#
[root@yinzhengjie ~]#
[root@yinzhengjie ~]# systemctl start gmond
[root@yinzhengjie ~]#
[root@yinzhengjie ~]# systemctl enable gmond
Created symlink from /etc/systemd/system/multi-user.target.wants/gmond.service to /usr/lib/systemd/system/gmond.service.
[root@yinzhengjie ~]#

9>.创建ganglia的web UI目录的软连接

[root@yinzhengjie ~]# ln -s /usr/share/ganglia/ /var/www/html/ganglia
[root@yinzhengjie ~]#
[root@yinzhengjie ~]# ll /var/www/html/
total
lrwxrwxrwx root root Oct : ganglia -> /usr/share/ganglia/
[root@yinzhengjie ~]#

10>.登陆webUI(如果能看到下图就OK啦!)

  关于部署Ganglia集群监控的文章,给出以下两个链接:

    推荐一:https://www.cnblogs.com/yinzhengjie/p/9185928.html(亲测好使)

    推荐二:https://github.com/ganglia/monitor-core/wiki/Ganglia-Quick-Start

三.使用Ganglia监控flume(注意,flume-agent端的节点可以不和Ganglia不是同一台机器哟!)

1>.编写flume的配置文件

[root@node106 ~]# cat /yinzhengjie/data/flume/job/flume-telnet.conf
# 这里的“yinzhengjie”是agent的名称,它是我们自定义的。我们分别给“yinzhengjie”的sources,sinks,channels的别名分别为r1,k1和c1。
yinzhengjie.sources = r1
yinzhengjie.sinks = k1
yinzhengjie.channels = c1 # 指定source的类型为netcat(source的type有很多,咱们不用记住它,需要用的时候去官网查就好),绑定source的主机是“node106.yinzhengjie.org.cn”,绑
定的端口为“”
yinzhengjie.sources.r1.type = netcat
yinzhengjie.sources.r1.bind = node106.yinzhengjie.org.cn
yinzhengjie.sources.r1.port = # 指定sink的类型,我们这里指定的为logger,即控制台输出。
yinzhengjie.sinks.k1.type = logger # 指定channel的类型为memory,指定channel的容量是1000,每次传输的容量是100
yinzhengjie.channels.c1.type = memory
yinzhengjie.channels.c1.capacity =
yinzhengjie.channels.c1.transactionCapacity = # 绑定source和sink
yinzhengjie.sources.r1.channels = c1
yinzhengjie.sinks.k1.channel = c1
[root@node106 ~]#

2>.启用flume自己的监控工具,可以通过webUI去查看相应的信息( -Dflume.monitoring.type=http  -Dflume.monitoring.port=5200)

[root@node106 conf]# flume-ng agent --conf /yinzhengjie/data/flume/  --name yinzhengjie  --conf-file /yinzhengjie/data/flume/job/flume-telnet.conf -Dflume.monitoring.type=http  -Dflume.monitoring.port= -Dflume.root.logger==INFO,console

  注意:上面指定的端口是指本机的端口,如何其它机器想要查看flume的各个组件的信息,可以指定当前的IP地址和端口好进行查看。启动成功会有如下图所示的提示信息:

  使用telnet 命令或者是nc命令去链接10.1.2.106:8888端口,会将数据发送到memory channel 中,随后会打印到控制台输出:

[root@node106 ~]# telnet node106.yinzhengjie.org.cn 8888          #我这里使用telnet进行测试,发送了3调数据。
Trying 10.1.2.106...
Connected to node106.yinzhengjie.org.cn.
Escape character is '^]'.
yinzhengjie dao ci yi you !
OK OK
https://www.cnblogs.com/yinzhengjie/
OK

   查看是否收到了相应的信息,如下图:

  通过webUI查看flume的状态信息:

    通过curl命令查看flume的状态信息:([root@node106 ~]# curl http://10.1.2.106:5200/metrics)

3>.启动flume 时,将flume的状态发送给Ganglia( -Dflume.monitoring.type=ganglia -Dflume.monitoring.hosts=10.1.2.120:8649)

[root@node106 conf]# flume-ng agent --conf /yinzhengjie/data/flume/ --name yinzhengjie --conf-file /yinzhengjie/data/flume/job/flume-telnet.conf  -Dflume.monitoring.type=ganglia -Dflume.monitoring.hosts=10.1.2.120:

4>.查看webUI的Mobile页面信息

5>.查看Clusters的页面信息

6>.选择你要查看的指定机器(即,我们启动flume的服务器 )

7>.查看flume的信息

8>.flume的详细信息界面

  上图的英文你都认识吗?想必大家大家都很熟悉了,我这里把说明贴在下面,方便以后查看:

Hadoop生态圈-使用Ganglia监控flume中间件的更多相关文章

  1. 【Hadoop】用 Ganglia 监控hadoop集群

    随着数据中心的增长和管理人员的缩减,对计算资源使用有效监视工具的需求变得比以往更加迫切.术语监视 在应用到数据中心时可能会让人混淆,因为它的含义会根据具体的说话者和听众而有所不同.例如: 在集群中运行 ...

  2. Flume案例Ganglia监控

    Flume案例和Flume监控系统的使用: 安装 将apache-flume-1.7.0-bin.tar.gz上传到linux的/opt/software目录下 解压apache-flume-1.7. ...

  3. Hadoop生态圈-Flume的主流Sinks源配置

    Hadoop生态圈-Flume的主流Sinks源配置 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 本篇博客只是配置的是Flume主流的Sinks,想要了解更详细的配置信息请参考官 ...

  4. Hadoop生态圈-Flume的主流source源配置

    Hadoop生态圈-Flume的主流source源配置 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 本篇博客只是配置的是Flume主流的Source,想要了解更详细的配置信息请参 ...

  5. Hadoop生态圈-flume日志收集工具完全分布式部署

    Hadoop生态圈-flume日志收集工具完全分布式部署 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任.   目前为止,Hadoop的一个主流应用就是对于大规模web日志的分析和处理 ...

  6. 使用ganglia监控hadoop及hbase集群

    一.Ganglia简介 Ganglia 是 UC Berkeley 发起的一个开源监视项目,设计用于测量数以千计的节点.每台计算机都运行一个收集和发送度量数据(如处理器速度.内存使用量等)的名为 gm ...

  7. 使用Ganglia监控hadoop、hbase

    Ganglia是一个监控服务器,集群的开源软件,能够用曲线图表现最近一个小时,最近一天,最近一周,最近一月,最近一年的服务器或者集群的cpu负载,内存,网络,硬盘等指标. Ganglia的强大在于:g ...

  8. hadoop 集群部署ganglia 监控服务与nagios 报警服务

      1. 部署ganglia 服务   ganglia 涉及到的组件:     数据监测节点(gmond):这个部件装在需要监测的节点上,用于收集本节点的运行情况,并将这些统计信息传送到gmetad, ...

  9. Ganglia监控Hadoop集群的安装部署[转]

    Ganglia监控Hadoop集群的安装部署 一. 安装环境 Ubuntu server 12.04 安装gmetad的机器:192.168.52.105 安装gmond的机 器:192.168.52 ...

随机推荐

  1. 四则运算法则在Java中的实现

    软件工程的课程已经上过有一段时间了,前段时间由于比较忙着考试,所以关于四则运算的代码一直没有实现.同时由于近来一段时间一直在自学java,因为C++虽然也是面向对象,而且可以开发很多软件或者程序,但是 ...

  2. 作业二 —— 分布式版本控制系统Git的安装与使用

    作业要求源于:https://edu.cnblogs.com/campus/gzcc/GZCC-16SE1/homework/2103 1.安装Git,配置用户名与邮箱. 安装Windows版的Git ...

  3. JavaScript中给onclick绑定事件后return false遇到的问题

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  4. 深入理解nodejs的next函数。koa的使用 app.params的使用

    next就是一个递归函数 const Koa = require('koa'); const app = new Koa(); app.use(ctx => { ctx.body = 'Hell ...

  5. 使用nodejs去做一个验证码

    let express = require('express'); let captchapng = require('captchapng'); let app = express(); app.g ...

  6. 《spark快速大数据分析》

    第一 概论 1.spark的特点 适用多种不同分布式平台的场景,包括批处理,迭代算法,交互式查询,流处理: spark提供了python,scale,java等接口 2.spark的组件 spark的 ...

  7. 【Mysql】—— 索引的分类

    注意:索引是在存储引擎中实现的,也就是说不同的存储引擎,会使用不同的索引.MyISAM和InnoDB存储引擎:只支持BTREE索引,也就是说默认使用BTREE,不能够更换.MEMORY/HEAP存储引 ...

  8. Docker容器从一知半解到入门

    Docker是一个开源的.跨平台的应用容器引擎,可以让技术开发认用打包他们的应用以及一些依赖包到一个可移植的容器平台中,发布到任何流行的Linux操作系统上面,也可以在Windows和mac操作系统上 ...

  9. c++ 为自定义类添加stl遍历器风格的遍历方式

    为仿照stl的遍历风格,实现对自定义类型的遍历. 1. 需要遍历的基础结构: struct ConnectionPtr { int id_; int port_; string addr_; //st ...

  10. php-编译模块2

    PHP扩展-扩展的生成和编译 首先说明一下,PHP扩展有两种编译方式:方式一:在编译PHP时直接将扩展编译进去方式二:扩展被编译成.so文件,在php.ini里配置加载路径: 以下开始说明创建PHP扩 ...