
flume
丹江怒潮
这个作者很懒,什么都没留下…
展开
-
利用Flume将MySQL表数据准实时抽取到HDFS
一、为什么要用到Flume 在以前搭建HAWQ数据仓库实验环境时,我使用Sqoop抽取从MySQL数据库增量抽取数据到HDFS,然后用HAWQ的外部表进行访问。这种方式只需要很少量的配置即可完成数据抽取任务,但缺点同样明显,那就是实时性。Sqoop使用MapReduce读写数据,而MapReduce是为了批处理场景设计的,目标是大吞吐量,并不太关心低延时问题。就像实验中所做的,每转载 2017-09-26 10:54:49 · 278 阅读 · 0 评论 -
flume源码分析3--组件的启动
接上面,当获取到最新的配置文件后,触发监听方法重启组件:@Subscribepublic synchronized void handleConfigurationEvent(MaterializedConfiguration conf) { stopAllComponents(); startAllComponents(conf);}下面看startAllComponents方法:p...原创 2018-04-10 11:23:22 · 258 阅读 · 0 评论 -
flume源码分析2--配置文件的加载
上面提到Application启动的时候,PollingPropertiesFileConfigurationProvider作为唯一的LifecycleAware类型的组件被交给监护者LifecycleSupervisor去监护,在监护方法里面,会启动一个定时调度线程去维护PollingPropertiesFileConfigurationProvider的状态,比如PollingPropert...原创 2018-04-09 10:59:02 · 726 阅读 · 0 评论 -
flume中的TaildirSource(2)
flume 1.7.0 推出了 taildirSource 组件。tail 监控 目录下匹配上正则表达式的 的所有文件,实现断点续传。问题但是官方的 taildirSource 组件貌似是支持nginx 日志,对于log4j 日志好像不太管用。 因为log4j 日志会自动切分,log4j 切分日志其实就是新建一个文件,然后把原来的日志文件都改名。但是 taildirSour转载 2017-12-06 15:09:13 · 350 阅读 · 0 评论 -
flume中的TaildirSource(1)
转载 2017年05月02日 11:14:28978原文链接:http://lxw1234.com/archives/2015/10/524.htm也可以参考官网地址:http://flume.apache.org/FlumeUserGuide.html (搜索 taildir)在通过Flume收集日志的业务场景中,转载 2017-12-06 15:07:36 · 578 阅读 · 0 评论 -
源码分析Flume启动过程
对Flume-NG的agent启动过程进行详细的分析。 启动过程flume的main函数在Application.java中,在flume-ng的shell启动脚本中会用java来起flume:$EXEC $JAVA_HOME/bin/java $JAVA_OPTS $FLUME_JAVA_OPTS "${arr_java_props[@]}" -cp "$FLUME_CL转载 2017-10-16 15:29:29 · 594 阅读 · 0 评论 -
Flume性能测试报告
1. 测试环境1.1 硬件CPU:Intel(R) Core(TM) i7-6700 CPU @ 3.40GHz(8核)内存:16G1.2 软件Flume:1.6.0Hadoop:2.6.0-cdh5.5.0Kfaka:2.11-0.9.0.1JDK:1.8.0_91-b14 64位1.3 测试文件文件大小:107M ,共490010条记录1转载 2017-09-20 10:39:32 · 1160 阅读 · 0 评论 -
flume开发-自定义拦截器(Interceptor)
拦截器是简单的插件式组件,设置在source和channel之间。source接收到的时间,在写入channel之前,拦截器都可以进行转换或者删除这些事件。每个拦截器只处理同一个source接收到的事件。flume官方实现了很多拦截器也可以自定义拦截器。通过实现自定义的拦截器可以对日志进行ETL。自定义拦截器只需要实现Interceptor的继承类。具体步骤如下:1.转载 2017-09-20 10:21:46 · 612 阅读 · 0 评论 -
flume 自定义正则过滤器
本文实现:flume 读取日志信息时,通过正则匹配过滤,将匹配到的结果存放在指定文件目录。本文结构: 1. 编写自定义过滤器 2. 编写flume配置文件 3. 运行测试日志信息过滤前:2017-01-06T11:32:48: Debug: D-UNK-000-000: Rules file processing took 332 usec.2017-转载 2017-09-19 15:34:31 · 625 阅读 · 1 评论 -
Flume Interceptors的使用
对于flume拦截器,我的理解是:在app(应用程序日志)和 source 之间的,对app日志进行拦截处理的。也即在日志进入到source之前,对日志进行一些包装、清新过滤等等动作。官方上提供的已有的拦截器有:Timestamp InterceptorHost InterceptorStatic InterceptorRegex Filtering Int转载 2017-09-19 10:43:54 · 362 阅读 · 0 评论 -
flume源码分析1--启动
Flume的程序入口是org.apache.flume.node.Application#main进入后会先进行命令行参数的解析及核对,使用的组件是org.apache.commons.cli。还是很好用的。会从参数中获取isZkConfigured及reload两个参数,isZkConfigured是指是否使用zookeeper来存储flume任务的配置,reload是指当flume作业的配置改...原创 2018-04-04 14:57:46 · 468 阅读 · 0 评论