Source
类型 说明
Exec Source
基于
Unix
的
command
在标准输出上生产数据
JMS Source
从
JMS
系统(消息、主题)中读取数据,
ActiveMQ
已经测试过
Spooling Directory Source
监控指定目录内数据变更
Twitter 1% firehose Source
通过
API
持续下载
Twitter
数据,试验性质
Netcat Source
监控某个端口,将流经端口的每一个文本行数据作为
Event
输入
Sequence Generator Source
序列生成器数据源,生产序列数据
Syslog Sources
读取
syslog
数据,产生
Event
,支持
UDP
和
TCP
两种协议
HTTP Source
基于
HTTP POST
或
GET
方式的数据源,支持
JSON
、
BLOB
表示形式
Legacy Sources
兼容老的
Flume OG
中
Source
(
0.9.x
版本)
1) Channel
当 前 有 几 个
channel
可 供 选 择 , 分 别 是
Memory Channel, JDBC Channel , File
Channel
,
Psuedo Transaction Channel
。
比较常见的是前三种
channel
。
MemoryChannel
可以实现高速的吞吐,但是无法保证数据的完整性。
MemoryRecoverChannel
在官方文档的建议上已经建义使用
FileChannel
来替换。
FileChannel
保证数据的完整性与一致性。在具体配置
FileChannel
时,建议
FileChannel
设置的目录和程序日志文件保存的目录设成不同的磁盘,以便提高效率。
File Channel
是一个持久化的隧道(
channel
),它持久化所有的事件,并将其存储到磁
盘中。因此,即使
Java
虚拟机当掉,或者操作系统崩溃或重启,再或者事件没有在管道中
成功地传递到下一个代理(
agent
),这一切都不会造成数据丢失。
Memory Channel
是一个
不稳定的隧道,其原因是由于它在内存中存储所有事件。如果
java
进程死掉,任何存储在
内存的事件将会丢失。另外,内存的空间收到
RAM
大小的限制
,
而
File Channel
这方面是
它的优势,只要磁盘空间足够,它就可以将所有事件数据存储到磁盘上。
Flume Channel
支持的类型:
Channel
类型 说明
Memory Channel Event
数据存储在内存中
JDBC Channel
Event
数据存储在持久化存储中,当前
Flume Channel
内置支持
Derby
File Channel Event
数据存储在磁盘文件中
Spillable Memory Channel Event
数据存储在内存中和磁盘上,当内存队列满了,
会持久化到磁盘文件(当前试验性的,不建议生产环
评论