注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

qus的博客

 
 
 

日志

 
 

flume 几个比较有用的source、sink和decorator  

2013-03-25 14:20:38|  分类: 默认分类 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

flume 几个比较有用的source、sink和decorator

4.1  Source catalog:1.Console 控制台输出,可以带输出内容格式的参数

比如console(“raw”), console(“json”)

2.text("filename"[, format])一次读取文件内容,每一个换行做为一个事件。

3.tail("filename"[, startFromEnd=false]{,delim="regex", delimMode="exclude|prev|next"})

   读取文件尾部内容跟linux上tail类似。

   Filename:读取的文件名,

   StartFromEnd 每次重读时,是否重头开始读。默认false每次重头开始重读,

   Delim 是分割参数,

   DelimMode分隔符数据属于哪一部分的指定。

4tailDir("dirname"[,fileregex=".*"[, startFromEnd=false[,recurseDepth=0]]]{,delim="regex",delimMode="exclude|prev|next"}) 

对一个目录下面有改动文件的事件发送

Dirname:目录名

Fileregex:文件名正则表达式匹配,需要符合java中正则表达式规则

StartFromeEnd 跟tail中的参数一样。

RecurseDepth :指定目录下是否递归对其子目录中文件的监控。指定递归层数。

其他剩余参数跟tail中一致。

 

4.2:Sinks catalog

CollectorTier Event Sinks

1.   collectorSink("fsdir","fsfileprefix"[, rollmillis[, format]])

收集发送过来的事件。

Fsdir:目录,

Fsfileprefix:文件前缀,

Rollmillis:对于hdfs来就是文件的打开是关闭这段时间

Format是输出文件格式

AgentTier Event Sinks

1、agentSink[("machine"[,port])]

Defaults to agentE2ESink

2、agentE2ESink[("machine"[,port])]

先讲event内容写入文件防止在缓冲丢失和点对点确认的数据传输

Machine:collectorSource的ip,

Port:collectorSource的端口

3、agentDFOSink[("machine"[,port])]

当连接断开时,会把event写到本地,并且会不断重试发送event给对方,把之前未发送成功的event再次发送。

4、agentBESink[("machine"[,port])]   

BestEffort Agent sink,最有效率的agent sink,顾名思义,就是只管发送,不管有没有发送成功。就可能存在丢失event的情况存在。

1、     agentE2EChain("m1[:_p1_]"[, "m2[:_p2_]"[,…]])

有多个collector可供选择发送。如果第一丢失连接了,就会向第二发送event,以此类推。并且会不定期回来查看原来没反应的collector是否已经恢复了,如果恢复了,就会跟原来的节点交互了。发送机制跟agentE2ESink一样

2、     agentDFOChain("m1[:_p1_]"[, "m2[:_p2_]"[,…]])

3、 agentBEChain("m1[:_p1_]"[, "m2[:_p2_]"[,…]])

上面两个跟6类似

 

autoE2EChain,autoDFOChain,autoBEChain,自动的会想master要可以连接的collector

 

装饰器catalog

1、writeAhead 在sink发送前先写入文件后,在本地缓冲机制,可让接收和发送分别在不同的线程中进行。

2、ackedWriteAhead[(maxmillis)]

3、diskFailover[(maxmillis)]

如果event发送失败,就在本地磁盘缓存,然后每隔maxmillis 时间去重试。

4、ackInjector: 注入ack确认操作。

5、ackChecker:计算发送组的checksum值,插入到ackInjector中

6、lazyOpen:只在条用append的时候,才会做真正的open,closed操作

7、 format("pattern"):改变输出格式,具体格式有pattern参数指定。对于需要做checksum的events来说由于改变了数据格式将导致checksum的值也不会改变。从而导致消息的丢失。这个装饰器一般用在对消息可靠性要求不是很高,或者reports中。

8、 batch(n,maxlatency): 缓存n个events 然后统一发送。如果等待时间操作maxlatency,即使未有n个events也会发送。

9、 unbatch:对于上面被batch操作过的events,同步unbatch来拆分开。

10、    gzip:将events事件序列化后压缩

11、    gunzip:对gzip压缩过的events,解压

12、     intervalSampler(n) 每隔n个events 发送一次,算是一个优化手段,特别是通过网络传输时。

13、     probSampler(p):通过概率p来做决定是否将events接着往下发送

14、     reservoirSampler(k):对接收到events根据发送时的顺序重新来组织。

15、     delay(ms)  对要发送的events内容延迟ms

16、    choke[(choke-id)]:限制发送速度


from:http://hi.baidu.com/izouying/item/48b31b344adc15c22e8ec212

  评论这张
 
阅读(361)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017