摘要: HDFSEventSink是flume中一个很重要的sink,配置文件中type=hdfs。与此sink相关的类都在org.apache.flume.sink.hdfs包中。 HDFSEventSink算是一个比较复杂的sink,包下涉及的源代码文件数多达13个。。。可配置的参数众多。。。希望... 阅读全文
posted @ 2014-05-06 18:32 玖疯 阅读(4277) 评论(0) 推荐(2) 编辑
摘要: 昨晚上的博客泡汤了。。。擦!! 昨晚明明在22:00多保存草稿了。。。。尼玛早上一来,擦,真的是一夜回到解放前啊!记录到昨天下午4:00了。。。 顿时心血付诸东流哇…… 从头再来的感觉。。。 什么玩意啊…… 让我情何以堪??让你情何以堪??让这个园子里的同僚情何以堪?? 容忍你一... 阅读全文
posted @ 2014-05-06 09:56 玖疯 阅读(278) 评论(4) 推荐(0) 编辑
摘要: 关于HBase的sink的所有内容均在org.apache.flume.sink.hbase包下。 每个sink包括自己定制的,都extends AbstractSink implements Configurable。 一、首先是configure(Context context)方法。该... 阅读全文
posted @ 2014-05-04 19:01 玖疯 阅读(2909) 评论(0) 推荐(0) 编辑
摘要: 强强联手,互联网垂直招聘专家拉勾网携手全球顶尖IT公司ThoughtWorks共同推出此次代码挑战!等你来打擂!题目:FizzBuzzWhizz你是一名体育老师,在某次课距离下课还有五分钟时,你决定搞一个游戏。此时有100名学生在上课。游戏的规则是:1. 你首先说出三个不同的特殊数,要求必须是个位数... 阅读全文
posted @ 2014-05-03 20:14 玖疯 阅读(1033) 评论(6) 推荐(0) 编辑
摘要: 上一篇文章分析了Flume如何加载配置文件的,动态加载也只是重复运行getConfiguration()。 本篇分析加载配置文件后各个组件是如何运行的? 加载完配置文件订阅者Application类会收到订阅信息执行: @Subscribe public synchronized voi... 阅读全文
posted @ 2014-04-29 17:26 玖疯 阅读(2641) 评论(1) 推荐(0) 编辑
摘要: 在sink和source中(不管是内置还是自定义的),基本都有如下代码,这些代码在sink中的process方法中,而在source中自己不需要去写,在source中getChannelProcessor().processEventBatch(events)方法中会自动创建下面类似的: ... 阅读全文
posted @ 2014-04-21 22:31 玖疯 阅读(2856) 评论(0) 推荐(2) 编辑
摘要: 在上一节中讲解了——Flume-NG启动过程源码分析(一)(原创) 本节分析配置文件的解析,即PollingPropertiesFileConfigurationProvider.FileWatcherRunnable.run中的eventBus.post(getConfiguration())... 阅读全文
posted @ 2014-04-20 19:31 玖疯 阅读(2182) 评论(1) 推荐(0) 编辑
摘要: 记得在上大学的时候就开始用火狐了……貌似是大二吧……一直喜欢这个浏览器,说不上原因来,当时还没chrome。。。久而久之chrome出来了,而且尼玛版本的更新速度杠杠的……坐在火箭上啊……后来火狐被这个蛋蛋逼得也狂升版本……直到这两年,chrome使用率超过了firefox……我的火狐也开始不给力:... 阅读全文
posted @ 2014-04-18 13:36 玖疯 阅读(306) 评论(0) 推荐(0) 编辑
摘要: 从bin/flume 这个shell脚本可以看到Flume的起始于org.apache.flume.node.Application类,这是flume的main函数所在。 main方法首先会先解析shell命令,如果指定的配置文件不存在就甩出异常。 根据命令中含有"no-reload-con... 阅读全文
posted @ 2014-04-16 19:09 玖疯 阅读(3486) 评论(3) 推荐(2) 编辑
摘要: 有的时候希望通过Flume将读取的文件再细分存储,比如讲source的数据按照业务类型分开存储,具体一点比如类似:将source中web、wap、media等的内容分开存储;比如丢弃或修改一些数据。这时可以考虑使用拦截器Interceptor。 flume通过拦截器实现修改和丢弃事件的功能。拦... 阅读全文
posted @ 2014-04-14 18:27 玖疯 阅读(5978) 评论(0) 推荐(1) 编辑
摘要: org.apache.flume.source.SpoolDirectorySource是flume的一个常用的source,这个源支持从磁盘中某文件夹获取文件数据。不同于其他异步源,这个源能够避免重启或者发送失败后数据丢失。flume可以监控文件夹,当出现新文件时会读取该文件并获取数据。当一个... 阅读全文
posted @ 2014-04-13 15:20 玖疯 阅读(5216) 评论(4) 推荐(1) 编辑
摘要: 上一小节(http://www.cnblogs.com/lxf20061900/p/3643581.html)讲到Job. submit()方法中的:info = jobClient.submitJobInternal(conf)方法用来上传资源提交Job的,这一节就讲讲这个方法。一、首先jobCl... 阅读全文
posted @ 2014-04-10 10:49 玖疯 阅读(1936) 评论(3) 推荐(1) 编辑
摘要: 首先,在自己写的MR程序中通过org.apache.hadoop.mapreduce.Job来创建Job。配置好之后通过waitForCompletion方法来提交Job并打印MR执行过程的log。Hadoop版本是1.0.0。 public boolean waitForCompletion(boolean verbose) throws IOException, InterruptedException, ClassNotFoundException { if (state == JobState.DEFINE) { submit(); //一 } if (verbose) { jobC. 阅读全文
posted @ 2014-04-03 17:56 玖疯 阅读(1787) 评论(2) 推荐(0) 编辑
摘要: org.apache.flume.sink.RollingFileSink 这个类比较简单。source的种类有两种:一种是PollableSource;另外一种是EventDrivenSource。前者“必须有它自己的callback机制,该机制用于捕获新数据并将数据存储到通道中”,后者“不是由其自身的线程驱动”。在自定义source时,前者必须要实现process方法,通过调用这个方法将event放入channel中;后者没有这个方法,可以自由发挥。sink不像source,只有一种sink,需要extends AbstractSink implements Configurable。s. 阅读全文
posted @ 2014-04-03 16:02 玖疯 阅读(2661) 评论(2) 推荐(0) 编辑
摘要: org.apache.flume.channel.MemoryChannel类是Flume-NG的memory-channel。private LinkedBlockingDeque queue;//mem-channel存放数据的地方 private Semaphore queueRemainin... 阅读全文
posted @ 2014-04-01 16:30 玖疯 阅读(2699) 评论(3) 推荐(1) 编辑