Flume

Flume

一、概念介绍

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

二、工作机制

数据从数据源到存储系统通过flume传输,flume配置基本分三步:读数据部分即source、缓存部分即channel、写数据部分为sink。每一条数据为event:{head:描述信息,body:数据内容}。flume采集程序为agent。
在这里插入图片描述

在这里插入图片描述

三、三大组件配置介绍

flume官网documentation
http://flume.apache.org/documentation.html

1.source

  • avro source
    配置:
    在这里插入图片描述测试:
    编辑测试文件:avro_test.log
    在mas上执行:
    ./bin/flume-ng agent -c ./conf -f avro.conf -n agent -Dflume.root.logger=INFO,console
    克隆mas,执行:
    ./flume-ng avro-client -c /opt/software/flume-1.6.0/conf -H mas -p 44444 -F /opt/software/flume-1.6.0/logs/avro_test.log
    控制台打印结果:
    在这里插入图片描述

  • spool source
    配置:
    在这里插入图片描述

    测试:
    在这里插入图片描述

    控制台打印结果:
    在这里插入图片描述

  • exec source
    配置:
    在这里插入图片描述

    测试:
    在这里插入图片描述

    控制台打印结果:
    在这里插入图片描述

2.channel

  • memory channel
    上述三种source都是使用memory channel,将读取的数据缓存在内存中,参数解释:
    在这里插入图片描述
    type:使用内存channel时,type为memory
    capacity:channel存储event的最大数量
    transactionCapacity: 转换容量,channel从source取数据和向sink传数据最大event数量
    keep-alive:channel 中增加或删除event的间隔时间,单位为秒
    byteCapacityBufferPercentage:字节容量占比与通道内event总大小之间的缓冲区百分比
    byteCapacity:基于JVM可用空间来定义字节容量默认占比为80%,存储的是所有event中的body数据

    一般配置前三个就差不多了

  • file channel
    将数据缓存到本地磁盘,常用参数如下:
    在这里插入图片描述type:使用file channel是type = file
    checkpointDir:快照文件存储的目录
    useDualCheckpoints:快照回滚,如果这个参数为true,必须指定backupCheckpointDir
    backupCheckpointDir:指定回滚快照的目录,不能为数据目录和快照存储目录即dataDir与checkpointDir
    dataDir:数据目录,存储logs文件,增加channel效率
    capacity:channel存储event的最大数量
    transactionCapacity: 转换容量,channel从source取数据和向sink传数据最大event数量
    checkpointInterval:两个快照间隔时间,单位为毫秒
    maxFileSize:单个log文件最大容量

3.sink

  • Logger sink
    log事件为INFO等级,经常用来测试与调试
  • HDFS sink
    配置:
    在这里插入图片描述测试:
    运行flume-ng agent -n agent -c ./conf -f hdfs-sink.conf -Dflume.root.logger=INFO,console
    配置文件中spooldir文件变化:
    在这里插入图片描述hdfs文件:
    在这里插入图片描述

下面两个复习完补上

  • Hive sink
  • HBase sink
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值