Flume 常用配置项

注:以下配置项均为常见配置项,查询详细配置项可以访问 flume 官网

Source 常见配置项

Avro Source

配置项名称 默认值 描述
Channel
type 组件类型名称,必须为avro
bind 要监听的主机名或IP地址
port 要绑定的端口号
threads 产生的最大工作线程数
ipFilterRules 使用此配置定义N个netty ipFilter模式规则。

Thrift Source

配置项名称 默认值 描述
Channel
type 组件类型名称,必须为Thrift
bind 要监听的主机名或IP地址
port 要绑定的端口号
threads 产生的最大工作线程数
ipFilterRules 使用此配置定义N个netty ipFilter模式规则。

Exec Source

配置项名称 默认值 描述
Channel
type 组件名称,必须为 exec
command 需要执行的指令
restartThrottle 10000 重启之前需要等待的时间(10秒)
restart false cmd挂掉是否应该自动重启
batchSize 20 每次可以读取的行数
batchTimeout 3000 这批数据必须处理完的时间

Kafka Source

配置项名称 默认值 描述
channels
type 组件名称,必须为org.apache.flume.source.kafka,KafkaSource
zookeeperConnect Zookeeper的地址
groupId flume consumer group的唯一标识,在多个source或多个agent中设置相同的ID表示它们属于同一个consumer group
topic Kafka的Topic,只能是一个
batchSize 1000 一个批次中最大能取到的消息数

Netcat Source

配置项名称 默认值 描述
channels
type 组件名称,必须为 netcat
bind 需要绑定的主机
port 需要绑定的端口号
max-line-length 512 每条消息的最大字节数
ack-every-event true 为每条成功接收的消息回复'OK'

Sequence Generator Source

配置项名称 默认值 描述
channels
type 组件名称,必须为 seq

Http Source

配置项名称 默认值 描述
type 组件名称,必须为http
port 需要绑定的端口
bind 0.0.0.0 需要监听的地址
handler org.apache.flume.source.http.JSONHandler handler类的完整名称
handler.* handler的参数

Custom Source

配置项名称 默认 描述
channels
type 组件名称,为用户自定义的完整类名称

Channels 常用配置项

Memory Channel

配置项名称 默认值 描述
type 组件名称,必须为 memory
capacity 100 channel最大能存储的event数量
transactionCapacity 100 每次事务中能从source中拉取或下沉到sink的最大event数量
keep-alive 3 添加
byteCapacityBufferPercentage 20 定义byteCapacityBuffer 的占比,它与 byteCapacity之和为100%,byteCapacity见下栏
byteCapacity 在这个channel中允许存放的最大字节数 这个字节数只计算event body,这也是需要提供 byteCapacityBufferPercentage 配置参数的原因。 默认为JVM可用最大内存的80% (即通过命令行传递的-Xmx值的80%)。 注意,如果一个agent里面包含了多个channel,channel里面又包含了多个相同的events,那么这些events会被重复计算。 将它设为 0 将会导致这个值强制设定为200GB的容量

JDBC Channel

配置项名称 默认值 描述
type 组件名称,必须为 jdbc
db.type DERBY 数据库类型,必须为 DERBY.
driver.class org.apache.derby.jdbc.EmbeddedDriver JDBC 驱动类
driver.url (constructed from other properties) JDBC 连接路径 URL
db.username “sa” 数据库用户
db.password 密码
connection.properties.file JDBC 连接的配置文件
create.schema true 如果为真,则如果库不存在,就会自动创建
create.index true 创建索引以加快查找
create.foreignkey true 是否允许创建外键
transaction.isolation “READ_COMMITTED” 隔离级别 READ_UNCOMMITTED, READ_COMMITTED, SERIALIZABLE, REPEATABLE_READ
maximum.connections 10 运行连接数据库的最大连接数
maximum.capacity 0 (不限制) channel中允许的最大event数
sysprop.* 数据库特殊配置
sysprop.user.home 嵌入式Derby数据库的存储路径

Kafka Channel

配置项名称 默认值 描述
type 组件名称,必须为 org.apache.flume.channel.kafka.KafkaChannel
brokerList Kafka Broker列表,建议至少有两台用于实现高可用,格式为hostname:port,broker之间用‘,’隔开
zookeeperConnect Kafka集群使用的ZooKeeper的URI 格式是‘,’分隔的主机名hostname:port。如果使用chroot,则在末尾添加一次。 例如: zookeeper-1:2181,zookeeper-2:2182,zookeeper-3:2181/kafka
topic flume-channel Kafka topic
groupId flume channel用于在kafka注册的GroupID,多个channel必须使用相同的topic和group,以确保当一个agent失败时,另一个agent可以获得数据 注意:相同GroupID但是没有channel的consummer将导致丢失
readSmallestOffset false 当设置为true时,通道将从最老的事件开始读取主题中的所有数据,当为false时,它将只读取通道启动后写入的事件
Other Kafka Properties 这些属性用于配置通道使用的Kafka生产者和消费者。Kafka支持的任何属性都可以使用。惟一的要求是在属性名前面加上前缀 kafka.. 举个例子: kafka.producer.type

File Channel

配置项名称 默认值 描述
type 组件名称,必须为 file.
checkpointDir ~/.flume/file-channel/checkpoint checkpoint文件的存储目录
useDualCheckpoints false 备份checkpoint文件,如果它为 true, backupCheckpointDir 必须 被设置
backupCheckpointDir 用于备份的checkpoint目录,它 必须不能 与原checkpoint目录一样
dataDirs ~/.flume/file-channel/data ‘,’分隔的目录列表,用于存储日志文件。在不同的磁盘上使用多个目录可以提高filechannel的性能
transactionCapacity 10000 channel支持的最大事务数
checkpointInterval 30000 checkpoint之间的最大时间间隔
maxFileSize 2146435071 单个日志文件最大的字节数
minimumRequiredSpace 524288000 最少需要的空闲空间(以字节为单位)。为了避免数据损坏,当空闲空间低于此值时,filechannel将停止接受take/put请求
capacity 1000000 单个channel存储的最大容量
keep-alive 3 一个put操作执行的最大时间
checkpointOnClose true 在关闭时是否创建检查点,如果设置为true,可以加速filechannel的后续启动。

Sinks 常用配置

HDFS Sink

Name 默认值 描述
channel
type 组件名称,必须为 hdfs
hdfs.path HDFS 目录路径 (例如 hdfs://namenode/flume/webdata/)
hdfs.filePrefix FlumeData Flume创建的文件名的前缀
hdfs.fileSuffix Flume创建的文件名的后缀 (例如 .avro - 注意:当前不会自动添加)
hdfs.inUsePrefix 当前正在写入的文件名的前缀
hdfs.inUseSuffix .tmp 当前正在写入的文件名的后缀
hdfs.rollInterval 30 触发文件滚动要等待的秒数 (0 = 无需根据时间进行滚动)
hdfs.rollSize 1024 触发文件滚动的字节数大小 (0: 无需根据文件大小滚动)
hdfs.rollCount 10 触发文件滚动的event数量 (0 = 无需根据events进行滚动)
hdfs.idleTimeout 0 自动关闭文件的时间间隔(如果没有数据写入) (0 = 不自动关闭)
hdfs.batchSize 100 每次写入 HDFS前读取的events数量
hdfs.codeC 压缩成以下格式之一: gzip, bzip2, lzo, lzop, snappy
hdfs.fileType SequenceFile 当前序列化格式,有以下三种: SequenceFile, DataStream or CompressedStream (1)DataStream 不能设置 codeC (2)CompressedStream 需要设置 hdfs.codeC
hdfs.maxOpenFiles 5000 允许同时打开文件的最大数量。如果超过这个数字,则关闭最旧的文件。
hdfs.minBlockReplicas 指定每个HDFS块的最小副本数。如果没有指定,它来自类路径中的默认Hadoop配置.
hdfs.writeFormat writeFormat格式. 有以下两种: “Text” , “Writable” (默认).
hdfs.callTimeout 10000 HDFS打开、写入、刷新、关闭操作允许的最大毫秒数。 如果发生许多HDFS超时操作,则应增加此数值。
hdfs.threadsPoolSize 10 HDFS操作的线程池数量
hdfs.round false 时间戳是否应该四舍五入 (如果为true, 时间戳会向下取时间)
hdfs.roundValue 1 四舍五入到它的最高倍数hdfs.roundUnit), 比当前时间更小
hdfs.roundUnit second 四舍五入的数值 - second, minute or hour.

Hive sink

Name 默认值 描述
channel
type 组件名称,必须为 hive
hive.metastore Hive metastore 的路径 (例如 thrift://a.b.com:9083 )
hive.database Hive database
hive.table Hive 表名
hive.partition ‘,’分隔分区值列表,标识要写入的分区。 例如: 如果表的分区为 (continent: string, country :string, time : string) 那么 ‘Asia,India,2014-02-26-01-21’ 将会被解释为 continent=Asia,country=India,time=2014-02-26-01-21
batchSize 15000 单个Hive事务中能写入的最大event数量

Logger sink

配置项名称 默认值 描述
channel
type 组件名称,必须为 logger

Avro Sink

配置项名称 默认值 描述
channel
type 组件名称,必须为 avro.
hostname 需要绑定的主机或IP地址
port 监听的端口号
batch-size 100 一次性发送的最大events数量
connect-timeout 20000 允许第一次(连接)请求的时间(ms).

Thrift Sink

配置项名称 默认值 描述
channel
type 组件名称,必须为 thrift.
hostname 需要绑定的主机或IP地址
port 监听的端口号
batch-size 100 一次性发送的最大events数量
connect-timeout 20000 允许第一次(连接)请求的时间(ms).

HBase Sink

配置项名称 默认值 描述
channel
type 组件名称,必须为 hbase
table 需要写入到Hbase的表名
columnFamily Hbase的列族
zookeeperQuorum quorum 配置. 这个配置的值为 hbase.zookeeper.quorum它在 hbase-site.xml文件中
作者:Binge
本文版权归作者和博客园共有,转载必须给出原文链接,并保留此段声明,否则保留追究法律责任的权利。
原文地址:https://www.cnblogs.com/binbingg/p/14699647.html