Flume学习04 — Sink

Flume提供了大量的Sink,下面主要介绍HDFS Sink、Avro Sink、Thrift Sink、Kafka Sink、HBase Sink。

类型 说明
HDFS Sink 数据写入HDFS。
Logger Sink 数据写入日志文件。
Avro Sink 数据被转换成Avro Event,然后发送到配置的RPC端口上。
Thrift Sink 数据被转换成Thrift Event,然后发送到配置的RPC端口上。
IRC Sink 数据在IRC上进行回放。
File Roll Sink 存储数据到本地文件系统。
Null Sink 丢弃掉所有数据。
HBase Sink 数据写入HBase数据库。
Morphline Solr Sink 数据发送到Solr搜索服务器(集群)。
ElasticSearch Sink 数据发送到Elastic Search搜索服务器(集群)。
Kite Dataset Sink 写数据到Kite Dataset,试验性质的。
Custom Sink 自定义Sink。
Hive Sink 数据写入Hive。
Kafka Sink 把数据写入Kafka Topic中。


HDFS Sink

HDFS Sink直接把Event数据写入Hadoop Distributed File System(HDFS)。HDFS Sink支持输出文本文件(text file)和序列文件(sequence file),同时还可以对数据进行压缩。数据文件可以根据固定时间间隔、文件大小或者Event数据数量创建。HDFS Sink需要Hadoop支持。

配置项 默认值 说明
channels 与Source连接的通道名称。
type hdfs
Hdfs.path HDFS路径


HDFS Sink参考配置

a1.channels = c1
a1.sinks = k1
a1.sinks.k1.type = hdfs
a1.sinks.k1.channel = c1
a1.sinks.k1.hdfs.path = /flume/events/%y-%m-%d/%H%M/%S
a1.sinks.k1.hdfs.filePrefix = eventsa1.sinks.k1.hdfs.round = true
a1.sinks.k1.hdfs.roundValue = 10
a1.sinks.k1.hdfs.roundUnit = minute


Kafka Sink

Kafka Sink是Flume内置的Sink,只要稍微做配置,就可以把Event直接输出到Kafka Topic中,目前Flume支持Kafka 0.8.x系列。

配置项 默认值 说明
type org.apache.flume.sink.kafka.KafkaSink
brokerList Kafka Sink连接的Broker列表
topic default-flume-topic Kafak发布Event的Topic


Kafka Sink参考配置

a1.sinks.k1.type = org.apache.flume.sink.kafka.KafkaSink
a1.sinks.k1.topic = mytopic
a1.sinks.k1.brokerList = localhost:9092
a1.sinks.k1.requiredAcks = 1
a1.sinks.k1.batchSize = 20
a1.sinks.k1.channel = c1


Avro Sink

把数据转成Avro Event格式,并发送到指定Avro端口,Event数据会批量发送,每次发送的数量可以在batch-size中设置。

配置项 默认值 说明
channel sink接收数据的channel
type sink类型,必须为avro
hostname 服务器地址
port 监听端口


Avro Sink参考配置

a1.channels = c1
a1.sinks = k1
a1.sinks.k1.type = avro
a1.sinks.k1.channel = c1
a1.sinks.k1.hostname = 10.10.10.10
a1.sinks.k1.port = 4545


Thrift Sink

Thrift Sink和Avro Sink类似,把数据转成Thrift Event格式,并发送到指定Thrift端口,Event数据会批量发送,每次发送的数量可以在batch-size中设置。Thrift Sink支持安全模式,可以在配置文件中设置。

配置项 默认值 说明
channel sink接收数据的channel
type sink类型,必须为thrift
hostname 服务器地址
port 监听端口


Thrift Sink参考配置

a1.channels = c1
a1.sinks = k1
a1.sinks.k1.type = thrift
a1.sinks.k1.channel = c1
a1.sinks.k1.hostname = 10.10.10.10
a1.sinks.k1.port = 4545


HBase Sink

HBase Sink分为同步(HBaseSink)和异步(AsyncHBaseSink)。

你可能感兴趣的:(Flume)