Flume
chiweitree
码农
展开
-
【Flume】 flume 负载均衡环境的搭建 load_balance
flume的负载均衡即每次按照一定的算法选择sink输出到指定地方,如果在文件输出量很大的情况下,负载均衡还是很有必要的,通过多个通道输出缓解输出压力flume内置的负载均衡的算法默认是round robin,轮询算法,按序选择下面看一下具体实例: # Name the components on this agenta1.sources = r1a1.sinks = k1 k2原创 2015-01-07 16:48:43 · 4238 阅读 · 0 评论 -
【Flume】【源码分析】flume中sink到hdfs,文件系统频繁产生文件,文件滚动配置不起作用?
本人在测试hdfs的sink,发现sink端的文件滚动配置项起不到任何作用,配置如下:a1.sinks.k1.type=hdfsa1.sinks.k1.channel=c1a1.sinks.k1.hdfs.useLocalTimeStamp=truea1.sinks.k1.hdfs.path=hdfs://192.168.11.177:9000/flume/events/%Y/%m/%d原创 2015-01-28 16:28:41 · 8885 阅读 · 18 评论 -
【Flume】flume中Avro Sink到Avro Source的性能测试,是否压缩,是否加密
从官方下载的flume-ng的源码里有单元测试的代码,本文就通过单元测试来体验下flume中avro的性能如何本文中的一个event的body内容大小是1KB,读者可自行组织文本,达到1KB即可,方便测试时,性能的计算 for (int i = 0; i < client.getBatchSize(); i++) { Event event = channel.take()原创 2015-03-09 15:26:50 · 4701 阅读 · 1 评论 -
【Flume】flume输出sink到hbase的实现
flume 1.5.2hbase 0.98.9hadoop 2.6zk 3.4.6以上是基础的软件及对应版本,请先确认以上软件安装成功!1、添加jar包支持将hbase的lib下的这些jar包拷贝到flume的lib下2、配置flume注意看以上的serializer配置,采用的是官方的RegexHbaseEventSerializer,原创 2015-03-04 10:59:57 · 8297 阅读 · 3 评论 -
【Flume】自定义sink kafka,并编译打包jar,unapproval license的问题解决
如图所示,新建一个JAVA工程,编辑pom文件,pom文件内容如下【这里取出了parent】:<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http:/原创 2015-01-07 11:49:33 · 5243 阅读 · 0 评论 -
【Flume】flume的自定义组件如何才能被flume的httpmetricsServer监控起来呢?
可能你认为只要的自定义组件里使用XXXcounter,并调用相关方法就会在flume的监控页面上看到该组件的相关信息,那么你就错了!!!!flume的http监控里有这样一句话if (!obj.getObjectName().toString().startsWith("org.apache.flume")) { continue; }这个太狠了原创 2015-03-06 14:13:37 · 2732 阅读 · 1 评论 -
【Flume】【源码分析】flume中http监控类型的源码分析,度量信息分析,以及flume的事件总线
在flume1.5.2中,如果想要通过http方式的监控来获取flume相关度量值,通过在启动脚本后添加如下内容即可:-Dflume.monitoring.type=http -Dflume.monitoring.port=34545监控-D的属性可以通过System.getProerties()直接获取得到,那么以上两个属性是通过方法loadMonitoring()来读取,该方法原创 2015-01-29 17:03:53 · 6297 阅读 · 0 评论 -
【Flume】flume中transactionCapacity和batchSize概念的具体分析和解惑
不知道各位用过flume的读者对这两个概念是否熟悉了解一开始本人的确有点迷惑,觉得这是不是重复了啊?没感觉到transactionCapacity的作用啊?batchSize又是干啥的啊?…………带着这些问题,我们深入源码来看一下:batchSizebatchSize这个概念首先它出现在哪里呢?kafkaSink的process方法HDFS Sink原创 2015-03-12 15:47:02 · 13726 阅读 · 1 评论 -
【Flume】flume文件监控的source组件开发,增量传输文件内容,支持断点续传功能
基于flume-ng中原有exec的source类型,通过tail依赖于操作系统去监听文件内容变化,其次,不支持断点续传的功能,特此,自行开发了一个组件,大家可以看看,一起探讨:https://github.com/cwtree/flume-filemonitor-source望各位不吝指教!原创 2015-04-09 15:02:04 · 6734 阅读 · 9 评论 -
【Flume】flume ng中HDFS sink设置按天滚动,0点滚动文件,修改源码实现
HDFS sink里有个属性hdfs.rollInterval=86400,这个属性你设置了24小时滚动一次,它的确就到了24小时才滚动,但是我们的需求往往是到了0点就滚动文件了,因为离线的job因为都会放在夜里执行。如果flume是早上9点启动的,那么要到明天早上9点,hdfs的文件才会关闭,难道job要等到9点后才执行,这显然不合适,所以通过修改源码使其能够在0点滚动文件。首先原创 2015-04-29 13:35:35 · 5798 阅读 · 17 评论 -
【Flume】Rpc sink XX closing Rpc client:NettyAvroRpcClient {xx} …… Failed to send events 问题解决
从以上截图信息,就可以看出问题了,服务端和客户端连接信息对不上,服务端有很多ESTABLISHED的连接,其实是无用的。这种情况,起初,我也很奇怪,没有发现原因,只能查看日志了。通过日志信息,发现出现了异常,但是很奇怪,在异常信息之前,有一句Rpc sink {} closing Rpc client: {}这里destroyConnection了,摧毁了一原创 2015-05-12 11:27:56 · 6438 阅读 · 0 评论 -
【Flume】【源码分析】flume中事件Event的数据结构分析以及Event分流
无意中发现了一个巨牛的人工智能教程,忍不住分享一下给大家。教程不仅是零基础,通俗易懂,而且非常风趣幽默,像看小说一样!觉得太牛了,所以分享给大家。点这里可以跳转到教程。前言首先来看一下flume官网中对Event的定义一行文本内容会被反序列化成一个event【序列化是将对象状态转换为可保持或传输的格式的过程。与序列化相对的是反序列化,它将流转换为对象。这两个过程结合起来,可以轻松地...原创 2015-02-12 12:46:58 · 12426 阅读 · 2 评论 -
【Flume】从flume的监控度量数据XXXCounter来看JAVA并发编程中的CAS操作
图示如上图所示红框部分,本人在做稳定性测试的时候,当flume运行几天后,我发现这个counter值逐渐变大,到一定值后,又变小了,有一个循环的过程,故而对此产生研究的欲望,下面来看看:if (txnEventCount == 0) { sinkCounter.incrementBatchEmptyCount(); } else if (txnEvent原创 2015-02-12 09:35:52 · 4674 阅读 · 0 评论 -
【Flume】flume ng 1.5.2源码编译的问题
首先从flume官网去下载源码http://flume.apache.org/download.html下载完之后,解压,首先去除源码中hdfs和hadoop的test依赖apache-flume-1.5.2-src\flume-ng-sinks\flume-hdfs-sink\pom.xml org.apache.hbase原创 2015-01-20 16:22:41 · 2888 阅读 · 12 评论 -
【Flume】flume 容错环境的搭建 failover
关于failover网上也有很多例子,但是看到的有多重做法,个人觉得,本着职责单一的原则1、一台机子运行一个flume agent2、一个agent 的下游sink指向一个flume agent,不要一个flume agent配置多个端口【影响性能】下面看具体实例:首先是flumet agent client的配置priority越高,优先级越高,会优先使用该sink原创 2015-01-07 16:15:47 · 4415 阅读 · 0 评论 -
【Flume】【源码分析】深入flume-ng的三大组件——source,channel,sink
概览flume-ng中最重要的核心三大组件就是source,channel,sinksource负责从源端收集数据channel负责暂存收集来的数据,以备下游取走消费sink负责消费通道中的数据,写到最终的输出端上以上是总体的一个简单结构图,下面我们来深入每一个组件的内部看看:1、Sourcesource接口的定义如下:@Inte原创 2015-01-30 16:44:25 · 9527 阅读 · 0 评论 -
【Flume】【源码分析】flume中拦截器的源码分析,以TimestampInterceptor为例
本文将以TimestampInterceptor为例来分析一下flume中拦截器的工作原理首先来看下改拦截器的实现结构1、实现了Interceptor接口该接口的方法定义如下: public void initialize(); public Event intercept(Event event); public List intercept(List events);原创 2015-01-21 10:34:56 · 3073 阅读 · 0 评论 -
【Flume】【源码分析】flume中FailoverSinkProcessor容错处理机制源码分析
FailoverSinkProcessor顾名思义是flume中sink输出容错的处理器继承自AbstractSinkProcessor先看下整体源码/** * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the N原创 2015-01-08 10:33:13 · 2936 阅读 · 0 评论 -
【Flume】【源码分析】flume中LoadBalancingSinkProcessor负载均衡实现机制的源码分析
基于上一篇文章http://blog.csdn.net/simonchi/article/details/42520193 相对比较细致的分析后,该文章将对LoadBalancingSinkProcessor源码进行选择性的重要逻辑代码进行讲解首先读取配置,当然是重写congifure方法public void configure(Context context) { P...原创 2015-01-12 17:26:19 · 2528 阅读 · 1 评论 -
【Flume】【源码分析】flume中ExecSource源码的详细分析——执行终端命令获取数据
我们直接看该Source的start方法吧public void start() { logger.info("Exec source starting with command:{}", command); executor = Executors.newSingleThreadExecutor(); runner = new ExecRunnable(shell原创 2015-02-05 10:17:06 · 4246 阅读 · 0 评论 -
【Flume】【源码分析】从入口Application来分析Flume的启动过程
大家在启动flume的时候,输入的命令就可以看出flume的启动入口了[root@com21 apache-flume-1.5.2-bin]# sh bin/flume-ng agent -c conf -f conf/server.conf -n a1Info: Sourcing environment configuration script /home/flume/apache-flu原创 2015-01-21 16:45:43 · 7014 阅读 · 3 评论 -
【Flume】【源码分析】flumeng的事务控制的原理详解【内存通道memory channel】
flume ng中所有的事务控制都是从sink的process方法内开始的1、获取事务Transaction transaction = channel.getTransaction();方法定义:public Transaction getTransaction() { if (!initialized) { synchronized (this) {原创 2015-02-06 10:36:26 · 4669 阅读 · 0 评论 -
【Flume】flume多个输出分支的配置,多sink,多channel
无意中发现了一个巨牛的人工智能教程,忍不住分享一下给大家。教程不仅是零基础,通俗易懂,而且非常风趣幽默,像看小说一样!觉得太牛了,所以分享给大家。点这里可以跳转到教程。这里就简单贴个配置吧,有问题欢迎留言探讨sink的配置##############################define [sink] begin##############################...原创 2015-02-11 09:44:49 · 12314 阅读 · 1 评论 -
【Flume】flume ng 1.6 做了哪些变化
依旧和大家一起看一下官网的内容:http://flume.apache.org/·增加了apache kafka的sink和source两大组件·增加了一个新的channel——kafka channel·增加了hive的sink组件,需要hive streaming的支持·端到端的认证·简单的正则搜索和替换的拦截器开始体验吧!原创 2015-06-16 17:27:49 · 1380 阅读 · 0 评论