前言
首先来看一下flume官网中对Event的定义
一行文本内容会被反序列化成一个event【序列化是将对象状态转换为可保持或传输的格式的过程。与序列化相对的是反序列化,它将流转换为对象。这两个过程结合起来,可以轻松地存储和传输数据】,event的最大定义为2048字节,超过,则会切割,剩下的会被放到下一个event中,默认编码是UTF-8,这都是统一的。
但是这个解释是针对Avr...
分类:
Web程序 时间:
2015-02-12 14:05:20
阅读次数:
196
图示
如上图所示红框部分,本人在做稳定性测试的时候,当flume运行几天后,我发现这个counter值逐渐变大,到一定值后,又变小了,有一个循环的过程,故而对此产生研究的欲望,下面来看看:
if (txnEventCount == 0) {
sinkCounter.incrementBatchEmptyCount();
} else if (txnEvent...
分类:
编程语言 时间:
2015-02-12 10:52:27
阅读次数:
1233
这里就简单贴个配置吧,有问题欢迎留言探讨
sink的配置
##############################define [sink] begin##############################
#define the sink k1
a1.sinks.k1.type=hdfs
a1.sinks.k1.channel=c1
a1.sinks.k1.hdfs.useLoca...
分类:
Web程序 时间:
2015-02-11 10:58:51
阅读次数:
212
最近学习了下flume的使用,以配合公司将日志系统独立出来的开发,官网用户手册:http://flume.apache.org/FlumeUserGuide.html#log4j-appender
1. flume架构
a. 组件
先搬上官网上的架构图
从图上可以看到flume的事件定义成了一个数据流,一个数据流组成了Agent,其实就是JVM实例,每个Agent包...
分类:
Web程序 时间:
2015-02-09 10:57:53
阅读次数:
312
没有运行,直接看源码得到sink简单运行过程SinkRunner负责运行sink程序内部类PollingRunnerimplements Runnable{ private SinkProcessor policy;}负责运行sinkrun方法while (!shouldStop.get()) {....
分类:
Web程序 时间:
2015-02-05 21:47:15
阅读次数:
211
我们直接看该Source的start方法吧
public void start() {
logger.info("Exec source starting with command:{}", command);
executor = Executors.newSingleThreadExecutor();
runner = new ExecRunnable(shell...
分类:
Web程序 时间:
2015-02-05 11:24:26
阅读次数:
282
1. Hadoop 支持lzo压缩依赖: lzo:Unix/linux系统默认没有lzo的 库,因此需要安装,sudoyum install lzo-devel.x86_64 sudo yum install lzo.x86_64 sudo yum install lzop.x86_64...
分类:
Web程序 时间:
2015-02-02 19:47:04
阅读次数:
416
概览
flume-ng中最重要的核心三大组件就是source,channel,sink
source负责从源端收集数据
channel负责暂存收集来的数据,以备下游取走消费
sink负责消费通道中的数据,写到最终的输出端上
以上是总体的一个简单结构图,下面我们来深入每一个组件的内部看看:
1、Source
source接口的定义如下:
@Inte...
分类:
Web程序 时间:
2015-01-30 17:45:41
阅读次数:
1035
在flume1.5.2中,如果想要通过http方式的监控来获取flume相关度量值,通过在启动脚本后添加如下内容即可:
-Dflume.monitoring.type=http -Dflume.monitoring.port=34545
监控
-D的属性可以通过System.getProerties()直接获取得到,那么以上两个属性是通过方法loadMonitoring()来读取,该方法...
分类:
Web程序 时间:
2015-01-29 17:38:20
阅读次数:
321
本人在测试hdfs的sink,发现sink端的文件滚动配置项起不到任何作用,配置如下:
a1.sinks.k1.type=hdfs
a1.sinks.k1.channel=c1
a1.sinks.k1.hdfs.useLocalTimeStamp=true
a1.sinks.k1.hdfs.path=hdfs://192.168.11.177:9000/flume/events/%Y/%m/%d...
分类:
Web程序 时间:
2015-01-28 18:00:15
阅读次数:
1115