![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
大数据Flume技术
日志型收集工具
尘世壹俗人
做一只马喽
展开
-
Flume如何自定义数据源
操作方式如下:1、导入Flume的jar包2、我们需要使用一个类继承AbstractSource,并实现Configurable,PollableSource两个接口,重写的方法中,process方法就是我们自定义数据具体流程实现的方法,书写流程一般都是在Processor方法中实现3、书写时先调用继承来的getChannelProcessor方法获得ChannelProcessor对象,其次准备Status枚举类,生成数据使用的是SimpleEvent类的对象,这个对象的set*方法装载数据,该类也原创 2021-03-24 15:00:17 · 581 阅读 · 0 评论 -
Flume如何自定义拦截器
Flume的拦截器很简单,大致操作如下1、导入flume的jar包2、准备一个类实现flume提供的interceptor接口,并在其中定义一个静态内部类,实现interceptor的内部接口builder3、Interceptor的实现类有四个方法,intercept单个event的处理,另一个intercept是处理多个event,close关闭资源、initialize初始化方法4、Builder的实现类有两个方法,build是如何构造自己的拦截器对象、configure可以获取我们自己编写的原创 2021-03-24 14:46:26 · 629 阅读 · 0 评论 -
Flume有哪些使用方式
1、 普通使用就是入门案例那样简单的单一流程2、 串联上一个的输出目的地是下一个的source,这种方式常使用avro3、 复制和多路复用基于channel的默认分发机制,使得一个数据源有多种数据目的地4、 负载均衡和故障转移虽然使用操作是一个图,但是两个不一样,负载均衡是多个agent同时处理数据,分摊压力故障转移说的是,多个agent同一时间只有一个生效,当该agent故障就启用下一个5、 聚合就是多个agent中sink的目的地是一个注意以上涉及到多个agent时,启动原创 2021-03-24 14:27:48 · 136 阅读 · 0 评论 -
Flume事务
Flume的事务有两部分source到channel中有着put事务,作用是当缓冲区发生异常,数据不会直接丢失,而是回滚事务,当然回滚到source的数据,虽然会在一定时间之后再次推送到缓冲区,但是如果一直推不进去,那我们就要去考虑为什么了channel到sink之间有着take事物,它的作用是让sink主动的去获取数据,如果发生了异常,就会将数据还给channel下面给大家用我的理解说一说,不一定完全对,但是也大差不差了,首先大家看一眼下面的图,方便后期理解我在说什么首先如开头说的那样,sour原创 2021-03-20 20:04:01 · 392 阅读 · 0 评论 -
大白话说Flume
Flume是很早之前就存在的一个日志框架,它的存在为我们信息传递提供了一个可行的方案,且它本身为支持多变的应用场景而存在着多种数据传输组件类型在Flume的使用上,总体来说其实很简单,我们只需要编写一个工作逻辑的agent配置文件,就可以了,Flume的官网有模板也有详细的介绍,这里就不在多做解释了Flume最主要的目的就是隔离系统与数据,同时使得数据统一传递速率以及格式,这一点和Kafka的作用比较类似,不过Flume的使用更加全面下面给大家提供几个常用的组件类型,以便大家学习使用时有目标的开展原创 2021-03-20 19:40:33 · 107 阅读 · 0 评论