Flume的Sink类型

1、HDFS Sink

该sink把events写进Hadoop分布式文件系统(HDFS)。它目前支持创建文本和序列文件。它支持在两种文件类型压缩。文件可以基于数据的经过时间或者大小或者事件的数量周期性地滚动。它还通过属性(如时间戳或发生事件的机器)把数据划分为桶或区。

上述配置会将时间戳降到最后10分钟。例如,带有11:54:34 AM,June 12,2012时间戳的event将会造成hdfs路径变成/flume/events/2012-06-12/1150/00。

 

2、 Hive Sink

该sink streams 将包含分割文本或者JSON数据的events直接传送到Hive表或分区中。使用Hive 事务写events。当一系列events提交到Hive时,它们马上可以被Hive查询到。

上述配置将会把时间戳降到最后10分钟。例如,event时间戳 header设置为 11:54:34 AM, June 12,2012 ,和 ‘country’ header 设置 为 ‘india’ , 该event评估到partition(continent='asia', country='india', time='2012-06-12-11-50')。

 

3、 Logger Sink

Logs event 在INFO 水平。典型用法是测试或者调试。

4 、Avro Sink

Flume events发送到sink,转换为Avro events,并发送到配置好的hostname/port。从配置好的channel按照配置好的批量大小批量获取events。

5、Thrift Sink

Flume events发送到sink,转换为Thrift events,并发送到配置好的hostname/port。从配置好的channel按照配置好的批量大小批量获取events。

 

6、 IRC Sink

IRC sink从链接的channel获取消息和推送消息到配置的IRC目的地。

agent a1示例:

7 、Null Sink

当接收到channel时丢弃所有events。

agent a1示例:

8、 HBaseSinks

该sink写数据到HBase。

agent a1 示例:

AsyncHBaseSink

该sink采用异步模式写数据到HBase。

agent a1示例:

9、 MorphlineSolrSink

 该sink从Flume events提取数据并转换,在Apache Solr 服务端实时加载,Apache Solr servers为最终用户或者搜索应用程序提供查询服务。

 agent a1示例:

10、 ElasticSearchSink

该sink写数据到elasticsearch集群。

agent a1示例:

11、  Kafka Sink

 

 Flume Sink实现可以导出数据到一个Kafka topic。

Kafka sink配置例子:

 Security and Kafka Sink

Flume和Kafka之间的联系channel支持安全认证和数据加密。

安全认证SASL/GSSAPI(Kerberos V5) 或者 SSL(TLS实现) 可以被用于Kafka 版本 0.9.0 。

数据加密由SSL/TLS提供。

设置kafka.producer.security.protocol为下面值:

  • SASL_PLAINTEXT - Kerberos or plaintext authentication with no data encryption
  • SASL_SSL - Kerberos or plaintext authentication with data encryption
  • SSL - TLS based encryption with optional authentication.

TLS 和 Kafka Sink:

带有服务端认证和数据加密配置的例子:

注意:属性ssl.endpoint.identification.algorithm没有定义,因此没有hostname验证,为了是hostname验证,可以设置属性:

如果要求有客户端认证,在Flume agent配置中添加下述配置。每个Flume agent必须有它的客户端凭证,以便被Kafka brokers信任。

如果keystore和key使用不用的密码保护,那么ssl.key.password属性需要提供出来:

Kerberos and Kafka Sink:

kerberos配置文件可以在flume-env.sh通过JAVA_OPTS指定:

使用SASL_PLAINTEST的安全配置示例:

使用SASL_SSL的安全配置示例:

JAAS文件实例(暂时没看懂):

 12 、HTTP Sink

该sink将会从channel获取events,并使用HTTP POST请求发送这些events到远程服务。event 内容作为POST body发送。

agent a1示例:

13、 Custom Sink(自定义Sink)

自定义sink是你实现Sink接口。当启动Flume agent时,一个自定义sink类和它依赖项必须在agent的classpath中。

agent a1 示例:

 

14、 Custom Sink(自定义Sink)

自定义sink是你实现Sink接口。当启动Flume agent时,一个自定义sink类和它依赖项必须在agent的classpath中。

agent a1 示例:

 

 

 

 

 

 

 

 

 

发布了70 篇原创文章 · 获赞 57 · 访问量 2万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章