Flume常用配置参数

概述

  • 本篇文章是根据Flume官网对Flume组件(Source,Channel,Sink)的常用配置参数做一个主要介绍,如有表达意思错误希望不吝指出。

Sources

  • Flume中常用的Source有NetCat,Avro,Exec,Spooling Directory,Taildir,也可以根据业务场景的需要自定义Source,具体介绍如下。
NetCat Source
  • NetCat Source可以使用TCP和UDP两种协议方式,使用方法基本相同,通过监听指定的IP和端口来传输数据,它会将监听到的每一行数据转化成一个Event写入到Channel中。(必须参数以@标示,下类同)

    Property Name   Default       Description
    channels@          –     
    type@              –          类型指定为:netcat
    bind@              –          绑定机器名或IP地址
    port@              –          端口号
    max-line-length   512         一行的最大字节数
    ack-every-event   true        对成功接受的Event返回OK
    selector.type   replicating   选择器类型replicating or multiplexing
    selector.*                    选择器相关参数
    interceptors       –          拦截器列表,多个以空格分隔
    interceptors.*                拦截器相关参数
    
Avro Source
  • 不同主机上的Agent通过网络传输数据可使用的Source,一般是接受Avro client的数据,或和是上一级Agent的Avro Sink成对存在。

    Property Name              Default          Description
    channels@                    –   
    type@                        –              类型指定为:avro
    bind@                        –              监听的主机名或IP地址
    port@                        –              端口号
    threads                      –              传输可使用的最大线程数
    selector.type        
    selector.*       
    interceptors                 –              拦截器列表
    interceptors.*       
    compression-type            none            可设置为“none” 或 “deflate”. 压缩类型需要和AvroSource匹配
    
Exec Source
  • Exec source通过执行给定的Unix命令的传输结果数据,如,cat,tail -F等,实时性比较高,但是一旦Agent进程出现问题,可能会导致数据的丢失。

    Property Name            Default                 Description
    channels@                   –    
    type@                       –                    类型指定为:exec
    command@                    –                    需要去执行的命令
    shell                       –                    运行命令的shell脚本文件
    restartThrottle           10000                  尝试重启的超时时间
    restart                   false                  如果命令执行失败,是否重启
    logStdErr                 false                  是否记录错误日志
    batchSize                  20                    批次写入channel的最大日志数量
    batchTimeout              3000                   批次写入数据的最大等待时间(毫秒)
    selector.type          replicating               选择器类型replicating or multiplexing
    
Flume是一个分布式、高可靠、高可用的日志收集系统,它的主要作用是将分布式环境中产生的海量数据进行汇聚和传输。Flume的核心组件包括Source、Channel和Sink,下面是这些组件常用配置: 1. Source组件配置:Source组件是Flume的数据输入源,常用的Source组件有ExecSource、AvroSource、NetcatSource等。它们的配置主要包括监听地址、端口号、日志格式、字符集等,具体如下: ``` # 监听地址和端口号 a1.sources.r1.type = netcat a1.sources.r1.bind = 0.0.0.0 a1.sources.r1.port = 44444 # 日志格式和字符集 a1.sources.r1.interceptors = i1 a1.sources.r1.interceptors.i1.type = regex_filter a1.sources.r1.interceptors.i1.regex = ^\[\d{4}-\d{2}-\d{2} a1.sources.r1.interceptors.i1.excludeEvents = false a1.sources.r1.interceptors.i1.charset = UTF-8 ``` 2. Channel组件配置:Channel组件是Flume的数据传输通道,常用的Channel组件有MemoryChannel、FileChannel、JDBCChannel等。它们的配置主要包括内存大小、数据保留时间、事务容量等,具体如下: ``` # 内存大小和事务容量 a1.channels.c1.type = memory a1.channels.c1.capacity = 1000 a1.channels.c1.transactionCapacity = 100 # 数据保留时间 a1.channels.c1.keep-alive = 3m ``` 3. Sink组件配置:Sink组件是Flume的数据输出目标,常用的Sink组件有HDFS Sink、Kafka Sink、Avro Sink等。它们的配置主要包括输出地址、序列化格式、批处理大小等,具体如下: ``` # 输出地址和序列化格式 a1.sinks.k1.type = hdfs a1.sinks.k1.hdfs.path = /flume/%Y/%m/%d/%H/ a1.sinks.k1.hdfs.filePrefix = events- a1.sinks.k1.hdfs.fileSuffix = .log a1.sinks.k1.hdfs.rollInterval = 3600 a1.sinks.k1.hdfs.fileType = DataStream a1.sinks.k1.serializer = org.apache.flume.sink.hdfs.AvroEventSerializer$Builder # 批处理大小 a1.sinks.k1.batchSize = 1000 ``` 以上是Flume组件常用配置的一些示例,具体的配置内容和参数取决于具体的场景和需求。Flume支持丰富的配置选项,可以根据实际需要进行灵活配置
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值