RegexExtractorInterceptor作为一个Interceptor实现类可以根据一个正则表达式匹配eventbody来提取字符串,并使用serializers把字符串作为header的值实例:以如下的命令使用execsource收集日志的时候,可以根据文件的名称设置不同的header,进行不同的操作#!/bin/sh
filename=$1..
分类:
其他好文 时间:
2015-03-12 01:04:37
阅读次数:
157
1.启动命令nohupbin/flume-ngagent-nagent-server-fagent-server1.conf&flume-ng是一个shell脚本:agentrunaFlumeagent--->org.apache.flume.node.Application类
avro-clientrunanavroFlumeclient--->org.apache.flume.client.avro.AvroCLIClient类run_flume(){#shel..
分类:
Web程序 时间:
2015-03-12 01:04:27
阅读次数:
322
flume可以监控并管理组件的运行状态,在组件关闭的时候可以自动拉起来,原理是通过启动一个计划任务线程池(monitorService,线程的最大数量为30),运行监控线程(MonitorRunnable线程),每隔3s判断组件(包括Channel,SinkRunner)的状态是否符合要求(可用的状态由两种START和..
分类:
Web程序 时间:
2015-03-12 01:04:09
阅读次数:
2319
首先你需要了解JAVA KEYSTORE该SSL用于Avro Sink到Avro Source之间的数据传输
该场景主要用于分布式Flume之间的数据传输,从分散的各个flume agent到中心汇集节点的flume agent下面来看下如何实现的?Avro Sink SSL在这个传输过程中,sink其实就相当于socket的client端了
flume源码中有个类NettyAvroRpcCli...
分类:
Web程序 时间:
2015-03-10 12:09:08
阅读次数:
533
从官方下载的flume-ng的源码里有单元测试的代码,本文就通过单元测试来体验下flume中avro的性能如何
本文中的一个event的body内容大小是1KB,读者可自行组织文本,达到1KB即可,方便测试时,性能的计算
for (int i = 0; i < client.getBatchSize(); i++) {
Event event = channel.take()...
分类:
Web程序 时间:
2015-03-09 16:16:56
阅读次数:
5816
org.apache.flume.channel.ChannelProcessor用于实际的Event到Channel的操作(在Source中用到),可以把它想象成channel的proxy,用于控制把Eventput到哪些Channel中,以及怎么put(bacth或者单个),同时在put之前会使用Interceptor对Event进行处理。把Eventput到哪些Channel中..
分类:
其他好文 时间:
2015-03-09 01:48:39
阅读次数:
176
在agent启动时,会启动Channel,SourceRunner,SinkRunner,比如在org.apache.flume.agent.embedded.EmbeddedAgent类的doStart方法中:privatevoiddoStart(){
booleanerror=true;
try{
channel.start();//调用Channel.start启动Channel
sinkRunner.start();//调用SinkRunner.star..
分类:
其他好文 时间:
2015-03-08 17:24:39
阅读次数:
521
上一篇说了HDFSEventSink的实现,这里根据hdfssink的配置和调用分析来看下sink中整个hdfs数据写入的过程:线上hdfssink的几个重要设置hdfs.path=hdfs://xxxxx/%{logtypename}/%Y%m%d/%H:
hdfs.rollInterval=60
hdfs.rollSize=0//想让文件只根据实际来roll
hdfs.rollCount=0
hd..
分类:
其他好文 时间:
2015-03-08 01:32:45
阅读次数:
4543
flume的主要组件包括:Source,SourceRunner,Interceptor,Channel,ChannelSelector,ChannelProcessor,Sink,SinkRunner,SinkProcessor,SinkSelector等工作流程包含两个部分:source->channel,数据由source写入channel,主动模式,主要步骤如下:一个SourceRunner包含一个So..
分类:
Web程序 时间:
2015-03-06 06:24:30
阅读次数:
217