Flume
weixin_42073629
这个作者很懒,什么都没留下…
展开
-
Flume之——配置多个Sink源(一个Source对应多个Channel和Sink)
https://blog.csdn.net/l1028386804/article/details/98055100转载 2021-08-22 21:12:58 · 972 阅读 · 0 评论 -
Flume NG(七)ChannelSelector
前几篇介绍了Flume NG Source组件的基本情况,接下来看看Channel相关的组件,Channel相关组件有:1. Channel2. ChannelSelector3. Interceptor / InterceptorChain4. ChannelProcessor5. Transaction这篇说说ChannelSelector。ChannelSelector的作用是为Source选择下游的Channel。有两种选择方式,复制和多路复用。所谓复制就是把Source原创 2020-10-12 00:04:13 · 290 阅读 · 0 评论 -
Flume NG(六)应用程序使用的RpcClient设计
上一篇Flume NG(五)使用ThriftSource通过RPC方式收集日志介绍了ThriftSource利用Thrfit服务ThriftSourceProtocol来收集日志。这篇说说flume-ng-sdk中提供给应用层序使用的RpcClient的设计和实现。继续使用ThriftRpcClient来作例子。先看看ThriftSourceProtocol提供的原生的客户端,它是Thrfit通过flume.thrift文件定义的Thrfit服务默认生成。这个原生的Client提供了网络传输和协..原创 2020-10-11 23:59:48 · 324 阅读 · 0 评论 -
Flume NG(五)使用ThriftSource通过RPC方式收集日志
上一篇说了利用ExecSource从本地日志文件异步的收集日志,这篇说说采用RPC方式同步收集日志的方式。笔者对Thrift比较熟悉,所以用ThriftSource来介绍RPC的日志收集方式。整体的结构图如下:1. ThriftSource包含了一个Thrift Server,以及一个Thrift Service服务的实现。这里的Thrift Service是由ThriftSourceProtocol定义2. 应用程序调用Thrift Service的客户端,以RPC的方式将日志发送到Thrif原创 2020-10-11 23:51:07 · 519 阅读 · 0 评论 -
Flume NG(四)使用ExecSource从本地日志文件中收集日志
常见的日志收集方式有两种,一种是经由本地日志文件做媒介,异步地发送到远程日志仓库,一种是基于RPC方式的同步日志收集,直接发送到远程日志仓库。这篇讲讲Flume NG如何从本地日志文件中收集日志。ExecSource是用来执行本地shell命令,并把本地日志文件中的数据封装成Event事件流在Flume NG中流动。它的典型配置如下,指定source类型是exec,指定Source下游的Channel是哪个,指定要执行的shell命令。最常用的命令就是tail -F命令,可以从本地日志文件中获取新追加的原创 2020-10-11 23:46:32 · 412 阅读 · 0 评论 -
Flume NG(三)使用Event接口表示数据流
Flume NG有4个主要的组件:Event表示在Flume各个Agent之间传递的数据流Source表示从外部源接收Event数据流,然后传递给ChannelChannel表示对从Source传递的Event数据流的临时存储Sink表示从Channel中接收存储的Event数据流,并传递给下游的Source或者终点仓库这篇看一下Event接口表示的数据流。Source, Channel, Sink操作的数据流都是基于Event接口的封装。public interface Ev原创 2020-10-11 23:43:42 · 168 阅读 · 0 评论 -
Flume NG(二)支持运行时动态修改配置的配置模块
在上一篇中讲了Flume NG配置模块基本的接口的类,PropertiesConfigurationProvider提供了基于properties配置文件的静态配置的能力,这篇细说一下PollingPropertiesFileConfigurationProvider提供的运行时动态修改配置并生效的能力。要实现动态修改配置文件并生效,主要有两个待实现的功能1. 观察配置文件是否修改2. 如果修改,将修改的内容通知给观察者对于第一点,监控配置文件是否修改,Flume NG定义了一个FileWa原创 2020-10-11 23:41:10 · 640 阅读 · 0 评论 -
Flume NG(一)基于静态properties文件的配置模块
日志收集是互联网公司的一个重要服务,Flume NG是Apache的顶级项目,是分布式日志收集服务的一个开源实现,具有良好的扩展性,与其他很多开源组件可以无缝集成。搜了一圈发现介绍Flume NG的文章有不少,但是深入分析Flume NG源代码的却没有。准备写一个系列分析一下Flume NG的源码。先从基础的配置模块说起。Flume NG支持两种配置模式,一种是基于properties文件的静态配置,并且只加载一次。另一种是基于Guava EventBus发布订阅模式的动态配置,可运行时加载修改的配置。原创 2020-10-11 23:38:44 · 466 阅读 · 0 评论 -
Flume(三)Flume 整合 Kafka
一、背景先说一下,为什么要使用 Flume + Kafka?以实时流处理项目为例,由于采集的数据量可能存在峰值和峰谷,假设是一个电商项目,那么峰值通常出现在秒杀时,这时如果直接将 Flume 聚合后的数据输入到 Storm 等分布式计算框架中,可能就会超过集群的处理能力,这时采用 Kafka 就可以起到削峰的作用。Kafka 天生为大数据场景而设计,具有高吞吐的特性,能很好地抗住峰值数据的冲击。二、整合流程Flume 发送数据到 Kafka 上主要是通过KafkaSink来实现的,主..原创 2020-10-07 01:45:59 · 283 阅读 · 0 评论 -
Flume(二)Flume的Source类型
一、概述官方文档介绍:http://flume.apache.org/FlumeUserGuide.html#flume-sources二、Flume Sources描述2.1 Avro Source2.1.1 介绍监听Avro端口,从Avro client streams接收events。当与另一个(前一跳)Flume agent内置的Avro Sink配对时,它可以创建分层收集拓扑。字体加粗的属性必须进行设置。2.1.2 示例示例一:参考官方文档#配置一个ag.原创 2020-10-07 01:39:56 · 2834 阅读 · 0 评论 -
Flume(一)Flume的基础介绍与安装
一、背景Hadoop业务的整体开发流程: 从Hadoop的业务开发流程图中可以看出,在大数据的业务处理过程中,对于数据的采集是十分重要的一步,也是不可避免的一步.许多公司的平台每天会产生大量的日志(一般为流式数据,如,搜索引擎的pv,查询等),处理这些日志需要特定的日志系统,一般而言,这些系统需要具有以下特征:(1) 构建应用系统和分析系统的桥梁,并将它们之间的关联解耦;(2) 支持近实时的在线分析系统和类似于Hadoop之类的离线分析系统;(3) 具有高可扩展性。即:当数据量原创 2020-10-07 01:31:11 · 249 阅读 · 0 评论
分享