Flume简介及安装配置

Flume是一个高可用的,高可靠的,分布式的海量日志采集、聚合和传输的系统,Flume支持在日志系统中定制各类数据发送方,用于收集数据;同时,Flume提供对数据进行简单处理,并写到各种数据接受方(可定制)的能力。

 

Flume以agent为最小的独立运行单位。一个agent就是一个JVM。单agent由Source、Sink和Channel三大组件构成。

 

Flume的数据流由事件(Event)贯穿始终。事件是Flume的基本数据单位,它携带日志数据(字节数组形式)并且携带有头信息,这些Event由Agent外部的Source生成。当Source捕获事件后会进行特定的格式化,然后Source会把事件推入(单个或多个)Channel中。你可以把Channel看作是一个缓冲区,它将保存事件直到Sink处理完该事件。Sink负责持久化日志或者把事件推向另一个Source。


 

常用的source有:

    JMS Source    从JMS系统(消息、主题)中读取数据

    Spooling Directory Source  监控指定目录内数据变更

    Avro Source    支持Avro协议(实际上是Avro RPC),内置支持

扫描二维码关注公众号,回复: 385470 查看本文章

    Thrift Source    支持Thrift协议,内置支持

    ......

 

常用的Channel有:

    Memory Channel    Event数据存储在内存中

    File Channel    Event数据存储在磁盘文件中

    ......

 

常用的Sink有:

    File Roll Sink存储数据到本地文件系统

    HDFS Sink数据写入HDFS

    Logger Sink数据写入日志文件

    Avro Sink数据被转换成Avro Event,然后发送到配置的RPC端口上

    Thrift Sink数据被转换成Thrift Event,然后发送到配置的RPC端口上

    HBase Sink数据写入HBase数据库

    Custom Sink自定义Sink实现

    ......

 

 Flume的安装配置

    0、安装JKD并配置相关的环境变量

    1、上传安装包并解压   tar -zxvf apache-flume-1.6.0-bin.tar.gz

    2、环境变量配置

        在etc/profile文件添加以下环境变量

            export FLUME_HOME=/opt/apache-flume-1.6.0-bin

            export FLUME_CONF_DIR=$FLUME_HOME/conf

            export PATH=.:$PATH:$FLUME_HOME/bin

        执行 . /etc/profile 命令,让修改立即生效

    3、执行以下命名测试安装是否成功  

        bin/flume-ng version

        如果出错,需要修改bin/flume-ng文件,为相关的正则表达式加上双引号(依报错提示进行修改)

猜你喜欢

转载自chenjumin.iteye.com/blog/2291897