
Flume NG
文章平均质量分 87
iter_zc
关注互联网架构方向
展开
-
Flume NG源码分析(四)使用ExecSource从本地日志文件中收集日志
常见的日志收集方式有两种,一种是经由本地日志文件做媒介,异步地发送到远程日志仓库,一种是基于RPC方式的同步日志收集,直接发送到远程日志仓库。这篇讲讲Flume NG如何从本地日志文件中收集日志。 ExecSource是用来执行本地shell命令,并把本地日志文件中的数据封装成Event事件流在Flume NG中流动。它的典型配置如下,指定source类型是exec,指定Source下游原创 2015-06-16 16:08:00 · 5347 阅读 · 0 评论 -
Flume NG源码分析(三)使用Event接口表示数据流
Flume NG有4个主要的组件: Event表示在Flume各个Agent之间传递的数据流 Source表示从外部源接收Event数据流,然后传递给Channel Channel表示对从Source传递的Event数据流的临时存储 Sink表示从Channel中接收存储的Event数据流,并传递给下游的Source或者终点仓库 这篇看一下Event接口表示的数据流。Source,原创 2015-06-16 15:53:21 · 2566 阅读 · 0 评论 -
Flume NG源码分析(五)使用ThriftSource通过RPC方式收集日志
上一篇说了利用ExecSource从本地日志文件异步的收集日志,这篇说说采用RPC方式同步收集日志的方式。笔者对Thrift比较熟悉,所以用ThriftSource来介绍RPC的日志收集方式。 整体的结构图如下: 1. ThriftSource包含了一个Thrift Server,以及一个Thrift Service服务的实现。这里的Thrift Service是由ThriftSourcePr原创 2015-06-17 16:30:30 · 3144 阅读 · 0 评论 -
Flume NG源码分析(六)应用程序使用的RpcClient设计
上一篇Flume NG源码分析(五)使用ThriftSource通过RPC方式收集日志 介绍了ThriftSource利用Thrfit服务ThriftSourceProtocol来收集日志。这篇说说flume-ng-sdk中提供给应用层序使用的ThriftRPCClient类,它封装了ThriftSourceProtocol服务的客户端并提供了一些优化。 先看看ThriftSourceP原创 2015-06-17 17:39:25 · 4084 阅读 · 0 评论 -
Flume NG源码分析(七)ChannelSelector
前几篇介绍了Flume NG Source组件的基本情况,接下来看看Channel相关的组件,Channel相关组件有: 1. Channel 2. ChannelSelector 3. Interceptor / InterceptorChain 4. ChannelProcessor 5. Transaction 这篇说说ChannelSelector之一的Replicat原创 2015-06-18 17:07:06 · 2817 阅读 · 0 评论 -
Flume NG源码分析(二)支持运行时动态修改配置的配置模块
在上一篇中讲了Flume NG配置模块基本的接口的类,PropertiesConfigurationProvider提供了基于properties配置文件的静态配置的能力,这篇细说一下PollingPropertiesFileConfigurationProvider提供的运行时动态修改配置并生效的能力。 要实现动态修改配置文件并生效,主要有两个待实现的功能 1. 观察配置文件是否修改原创 2015-06-08 17:08:34 · 4318 阅读 · 0 评论 -
Flume NG源码分析(一)基于静态properties文件的配置模块
日志收集是互联网公司的一个重要服务,Flume NG是Apache的顶级项目,是分布式日志收集服务的一个开源实现,具有良好的扩展性,与其他很多开源组件可以无缝集成。搜了一圈发现介绍Flume NG的文章有不少,但是深入分析Flume NG源代码的却没有。最近准备写一个系列分析一下Flume NG的源码。这篇先从基础的配置模块说起。 Flume NG支持两种配置模式,一种是基于proper原创 2015-06-03 21:02:12 · 4561 阅读 · 0 评论