Flume中Source丶Channel和Sink的使用场景及使用方法

Flume Sources
Avro Source:监听Avro端口,接受从外部Avro客户端发来的数据流
channels        与Source绑定的channel,多个用空格分开
type    组件类型,这个是: avro
bind    监听的服务器名hostname或者ip
port    监听的端口
a1.channels=c1
a1.sources=s1
a1.sinks=r1
a1.sources.s1.channels=c1
a1.sources.s1.type=avro
a1.soursec.s1.bind=hadoop01
a1.sources.s1.port=12345


Thrift Source:监听Thrift端口,从外部的Thrift客户端接收数据流.与Avro Source十分类似,不同的是支持了Kerberos认证,就是一个安全协议
a1.channels=c1
a1.sources=s1
a1.sinks=r1
a1.sources.s1.channels=c1
a1.sources.s1.type=thrift
a1.soursec.s1.bind=hadoop01
a1.sources.s1.port=12345

Taildir Source:监控指定目录下的指定文件中的内容,并且检测到新的一行数据产生的时候几乎实时地读取它们.
channels              绑定channels
type                     组件类型
filegroups                                 指定需要监控文件的组
filegroups.<filegrouopName> 指定这个组需要监控的文件(可以使用正则表达式,需要使用绝对路径)
a1.channels=c1
a1.sources=s1
a1.channels=r1
a1.sources.s1.channels=c1
a1.sources.s1.type=TALIDIR
a.sources.s1.filegrouop=f1
a1.sources.s1.filegroup.f1=/root/file/.*log


Exec Source:这个source执行的时候会运行给定的unix命令,给定的Unix命令必须能产生持续的数据流
a1.channels=c1
a1.sources=s1
a1.channels=r1
a1.sources.s1.channels=c1
a1.sources.s1.type=exec
a1.sources.s1.command=tail -f /root/Flume


Spooling Directory Source:监控指定的目录,它会监听这个目录中产生的新文件.
a1.channels=c1
a1.sources=s1
a1.channels=r1
a1.sources.s1.channels=c1
a1.sources.s1.type=spooldir
a1.sources.s1.spoolDir=/root/spool/


HTTP Source:这个是从HTTP POST 和GET请求里面解析Event
channels  
type    组件类型http
port    端口
a1.channels=c1
a1.sources=s1
a1.channels=r1
a1.sources.s1.channels=c1
a1.sources.s1.type=http
a1.sources.s1.port=12345
a1.sources.s1.bind=hadoop01


Mutltiport Syslog TCP Source:这个是一个Syslog TCP Source的增强版,支持监听多个端口
channels
type      multiport_syslogtcp
host      监听的hostname或是ip地址
ports     一个或是多个监听的端口,用多个空格分开
a1.channels=c1
a1.sources=s1
a1.channels=r1
a1.sources.s1.channels=c1
a1.sources.s1.type=multiport_syslogtcp
a1.sources.s1.host=hadoop01
a1.sources.s1.ports=12345 555

Channel
Memory Channle:就是把Event队列存储到内存上,适合对吞吐量有较高要求的场景,Memory Channel是一个不稳定的隧道,其原因是由于它在内存中存储所有事件。如果java进程死掉,任何存储在内存的事件将会丢失
a1.channels=c1
a1.sources=s1
a1.channels=r1
a1.sources.s1.channels=c1
a1.sources.c1.type=memory


File Channel:File Channel是一个持久化的隧道(channel),他持久化所有的事件,并将其存储到磁盘中。因此,即使Java 虚拟机当掉,或者操作系统崩溃或重启,再或者事件没有在管道中成功地传递到下一个代理(agent),这一切都不会造成数据丢失


Sink
HDFS Sink:这个SInk将Event写入Hadoop分布式文件系统


Logger Sink:使用INFO级别把Event内容输出到日志中,一般是用来测试,调用使用

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值