博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
flume1.8 Channel类型介绍(四)
阅读量:4089 次
发布时间:2019-05-25

本文共 1678 字,大约阅读时间需要 5 分钟。

1. Flume Channel

Channels是events在agent上进行的存储库。Source添加events,Sink移除events。

1.1 Memory Channel(内存Channels)

events存储在配置最大大小的内存队列中。对于流量较高和由于agent故障而准备丢失数据的流程来说,这是一个理想的选择。

agent a1示例:

1.2 JDBC Channel

events存储在持久化存储库中(其背后是一个数据库)。JDBC channel目前支持嵌入式Derby。这是一个持续的channel,对于可恢复性非常重要的流程来说是理想的选择。

agent a1示例:

1.3 Kafka Channel

events存储在Kafka集群中。Kafka提供高可用性和高可靠性,所以当agent或者kafka broker 崩溃时,events能马上被其他sinks可用。

Kafka channel可以被多个场景使用:

  1. Flume source和sink - 它为events提供可靠和高可用的channel
  2. Flume source和interceptor,但是没sink - 它允许写Flume evnets到Kafka topic
  3. Flume sink,但是没source - 这是一种低延迟,容错的方式从Kafka发送events到Flume sinks 例如 HDFS, HBase或者Solr

agent a1示例:

Security and Kafka Channel:

省略...

TLS and Kafka Channel:

省略...

Kerberos and Kafka Channel:

省略...

上述详情可以查看官网:

或者flume1.8 使用指南学习感悟(一)、flume1.8 使用指南学习感悟(二)关于Kafka部分

  4.6.8 Kafka Source

  1.11 Kafka Sink

 1.4 File Channel

agent a1示例:

1.5 Spillable Memory Channel

events存储在内存队列和磁盘中。该channel目前正在试验中,不要求在生产环境中使用。

agent a1示例:

让内存channel队列使用失效,功能类似file channel:

让磁盘溢出使用失效,功能类似in-memory channel:

1.6 Pseudo Transaction Channel

注意:Pseudo Transaction Channel只用于单元测试,不用于生产环境使用。

1.7 Custom Channel

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

agent a1的示例:

2. Flume Channel Selectors

如果类型没有指定,那么默认“replicating”。

2.1 Replicating Channel Selector(default) (复制channel选择器)

 

agent a1和它的source 为 r1:

在上面的配置中,c3是一个可选性的channel。写event到c3出错将会被忽略。因为c1和c2没有标记为可选,写到这些channels失败将会导致事务提交失败。

2.2 Multiplexing Channel Selector (多路复用Channel选择器)

agent a1和它的source为r1:

2.3 Custom Channel Selector (自定义Channel选择器)

 一个自定义channel选择器(selector)是实现ChannelSelector的接口。当Flume agent启动时,一个自定义channel  selector类和它依赖项必须包含在agent的classpath。

 

agent a1和它的source为r1:

 参考资料:

 

转载地址:http://tycii.baihongyu.com/

你可能感兴趣的文章
从头开始讲Node.js——异步与事件驱动
查看>>
Node.js-模块和包
查看>>
Node.js核心模块
查看>>
express的应用
查看>>
NodeJS开发指南——mongoDB、Session
查看>>
Express: Can’t set headers after they are sent.
查看>>
2017年,这一次我们不聊技术
查看>>
实现接口创建线程
查看>>
Java对象序列化与反序列化(1)
查看>>
HTML5的表单验证实例
查看>>
JavaScript入门笔记:全选功能的实现
查看>>
程序设计方法概述:从面相对象到面向功能到面向对象
查看>>
数据库事务
查看>>
JavaScript基础1:JavaScript 错误 - Throw、Try 和 Catch
查看>>
SQL基础总结——20150730
查看>>
SQL join
查看>>
JavaScript实现页面无刷新让时间走动
查看>>
CSS实例:Tab选项卡效果
查看>>
前端设计之特效表单
查看>>
前端设计之CSS布局:上中下三栏自适应高度CSS布局
查看>>