大数据集群组件之Flume的配置及其使用

Posted java开发八荣八耻

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了大数据集群组件之Flume的配置及其使用相关的知识,希望对你有一定的参考价值。

Flume配置方式参考网址:

    http://flume.apache.org/releases/content/1.9.0/FlumeUserGuide.html

Flume(数据收集)

  认识Flume

i. Flume是一个分布式的,弹性的,高可靠的,海量日志收集,聚合和传输的系统,Flume支持在日志系统中定制各类数据发送方,接收方,用于收集传输数据;同时Flume还可以对数据进行简单处理,    并写入到其他多个数据接收者的能力。
i. 当前Flume有两个版本Flume 0.9版本(集群版本) Flume1.X版本(单机版本)

Flume-og(0.X)版本

    1. 多Master。为了保证配置数据的一致性,Flume基于Zookeeper保存配置数据,Zookeeper提供Flume数据的一致性和高可用。在配置数据变化时,Zookeeper可以通知FlumeMaster。    
       FlumeMaster间通过gossip协议同步数据。

Flume-ng(1.X版本)

    1. 最大改动为取消了集中管理配置的Master和Zookeeper,变为一个纯粹的传输工具。另一个主要改动为读入,写出数据有不同线程单独处理(Runner),可有效解决以下问题:
      Flume-og中,读入线程同时负责写出工作。写操作时有可能阻塞数据接收

Flume的主要功能:

    1. 日志收集:Flume一般用于收集数据,用于在各种日志系统(数据发送方)与各类数据消费(数据接收方)之间。
    1. 数据处理:Flume提供对数据进行简单处理,并写到各种数据接收方(可自定义接收方)的能力。Flume提供了从console(控制台),RPC(Thrift-RPC),text(文件),tail(UNIX
      tail),syslog(syslog日志系统,支持TCP和UDP等2种模式),exec(命令执行)等数据源上收集数据的能力。

Flume特点:

    1. 分布式,高可靠,高可用的海量日志采集,聚合和传输的系统。(0.X版本)
    1. 定制各类数据发送方(比如文本,HDFS,Hbase等)
    1. 收集数据,并支持数据处理。
    1. flume的强大之处,在于其支持多种数据源、支持多种数据输出目的地。

Flume代理:Agent即Flume运行过程中的一个具体的作业单位,Flume可同时运行多个Agent作业:每一个agent都是一个完整的数据采集工具,包含有三个核心组件:source,channel,sink。

    1. agent:一个具体的flume作业,一个flume可以运行多个agent
    1. Source: 数据源(数据加载单元)
    1. Channal(通道(队列)
    1. Sink  (数据池)
    1. Event(事件(数据单元),贯穿于整个agent,表示数据流的概念)

Flume event事件:

    1. event是Flume的数据封装单元,由头信息+日志数据(字节数组)
构成。
    1. event由agent的source组件生成,当source捕获数据后会进行特定的格式化生成event对象,然后会把event推送至(单个或多个)channel中。

Flume安装:

下载,上传,解包

    i. tar -zxvf apache-flume-1.9.0-bin.tar.gz -C /usr/hadoop/

配置agent作业

    首先复制一份配置文件的模板,名字为flume-conf-common.properties ,来配置一个普通的序列到控制台的配置文件

    结果:

      配置 tcp端口,配置文件名字为flume-conf-tcp2watch.properties,收集数据,输出致控制台

    测试结果,测试工具为 window版的 netcat  可以使用 telnet ,他有两种工作模式 (两种工作模式 立即发送(默认)、控制台发送(ctrl+】))

     配置本地输出到hdfs中,配置文件名字为:flume-conf-flume2hdfs.properties

      需要注意的是,需要将 Hadoop的相关 jar包和配置文件复制到 flume的 lib 和 conf目录下
      
      这是配置文件

      这是jar包

      测试,需要开启 hdfs,启动flume命令:flume-ng agent --name a1 --conf-file ../conf/flume-conf-flume2hdfs.properties ,编辑 /tmp/orders文件
    
      运行结果

    flume配置备查(偷取老师的私货)

以上是关于大数据集群组件之Flume的配置及其使用的主要内容,如果未能解决你的问题,请参考以下文章

技术干货 | 大数据开发系列之Flume

打怪升级之小白的大数据之旅(七十三)<Flume高级>

打怪升级之小白的大数据之旅(七十三)<Flume高级>

打怪升级之小白的大数据之旅(七十三)<Flume高级>

打怪升级之小白的大数据之旅(七十三)<Flume高级>

大数据架构之:Flume