特点:

flume是一个分布式、可靠、和高可用的海量日志采集、聚合和传输的系统。支持在日志系统中定制各类数据发送方,用于收集数据;同时,Flume提供对数据进行简单处理,并写到各种数据接受方(比如文本、HDFS、Hbase等)的能力

Flume的可靠性:

当节点出现故障时,日志能够被传送到其他节点上而不会丢失。

  1. Flume提供了三种级别的可靠性保障:

    1. end to end:收到数据agent首先将event写到磁盘上,当数据传送成功后,再删除;如果数据发送失败,可以重新发送。
    2. Store on failure:这也是scribe采用的策略,当数据接收方crash时,将数据写到本地,待恢复后,继续发送
    3. Besteffort:数据发送到接收方后,不会进行确认

Flume的可恢复性:

使用FileChannel,事件持久化在本地文件系统里(性能较差)

Flume的一些核心概念:

名称 说明
Agent(代理) 使用JVM 运行Flume。每台机器运行一个agent,但是可以在一个agent中包含多个sources和sinks。
Client(委托) 生产数据,运行在一个独立的线程。
Source(来源) 从Client收集数据,传递给Channel。
Sink(接收器) 从Channel收集数据,运行在一个独立线程。
Channel(通道) 连接 sources 和 sinks ,类似一个队列。
Events(事件) 可以是日志记录、 avro 对象等。

部署类型:

  1. 单一流程:Flume以agent为最小的独立运行单位。一个agent就是一个JVM。单agent由Source、Sink和Channel三大组件构成。

  2. 多代理流程:可以将多个Agent顺序连接起来,将最初的数据源经过收集,存储到最终的存储系统中。这是最简单的情况,一般情况下,应该控制这种顺序连接的Agent 的数量,因为数据流经的路径变长了,如果不考虑failover的话,出现故障将影响整个Flow上的Agent收集服务。

  3. 流的合并:这种情况应用的场景比较多,比如要收集Web网站的用户行为日志, Web网站为了可用性使用的负载集群模式,每个节点都产生用户行为日志,可以为每 个节点都配置一个Agent来单独收集日志数据,然后多个Agent将数据最终汇聚到一个用来存储数据存储系统,如HDFS上。

  4. 多路复用流:Flume还支持多级流,什么多级流?来举个例子,当syslog, java, nginx、 tomcat等混合在一起的日志流开始流入一个agent后,可以agent中将混杂的日志流分开,然后给每种日志建立一个自己的传输通道。

  5. 负载平衡:将Channel暂存的Event均衡到对应的多个Sink组件上,而每个Sink组件分别连接到一个独立的Agent上 。

Flume抓取日志类型

  1. Avro序列化:Avro可以发送一个给定的文件给Flume

  2. Spool:Spool监测配置的目录下新增的文件,并将文件中的数据读取出来

  3. Exec:EXEC执行一个给定的命令获得源的变化。

  4. Syslogtcp:Syslogtcp监听TCP的端口做为数据源。

  5. JSONHandler:接受json格式数据。

  6. Hadoop sink:配置Hadoop接受数据。

  7. File Roll Sink:配置本地文件接受数据。

java大数据组件Flume相关推荐

  1. java大数据组件HBase

    什么是HBase: 是一个非关系型数据库(稀疏矩阵) 关系型数据库:有固定的列,每一列的数据类型明确 非结构化数据,半结构化数据. 存储的目标数据 数据量大 结构简单 基于key的快速查找能力 可以面 ...

  2. java大数据组件Kafka

    定义: 大吞吐量,内置分区,可以进行数据备份,同时具备数据容错性的消息系统. Kafka可以完成在线或者离线数据消费,所谓离线数据消费实际上就是kafka将消息数据保留在磁盘上. kafka会做数据备 ...

  3. java大数据组件Zookeeper

    zookeeper的作用: Zookeeper是针对大型分布式系统的高可靠的协调系统,如dubbo里面的注册中心.分布式锁等,主要应用于分布式系统中. 分布式应用的优点: 可靠性- 单个或几个系统的故 ...

  4. 假如大数据组件中的动物都变成神奇宝贝,那会变成什么样?(大数据的组件动漫化)

    文章目录 假如大数据组件中的动物都变成神奇宝贝,那会变成什么样? 第一个神奇宝贝 Hadoop 第二个神奇宝贝 Hive 第三个神奇宝贝 Hbase 第四个神奇宝贝的管理员 Zookeeper 第五个 ...

  5. 一篇文章带你了解大数据生态圈---大数据组件图谱

    小编一篇文章带你了解大数据生态圈-大数据组件图谱 转载地址:http://blog.csdn.net/u010039929/article/details/70157376 文章目录 小编一篇文章带你 ...

  6. Java大数据开发做什么?Java大数据开发成长路线

    Java开发是IT行业的经典岗位,行业当中存在普遍的需求,Web开发.Android开发.游戏开发等岗位,基本上Java语言是主力队伍.而进入大数据时代,Java又在大数据方向上有了用武之地.今天我们 ...

  7. 1.1 大数据简介-hadoop-最全最完整的保姆级的java大数据学习资料

    文章目录 1 hadoop-最全最完整的保姆级的java大数据学习资料 1.1 大数据简介 1.1.1 大数据的定义 1.1.2 大数据的特点 1.1.3 大数据的应用场景 1.1.4 大数据的发展趋 ...

  8. 大数据组件需要额外添加的依赖包汇总(持续更新中)

    现在FLINK已经被阿里收购了,所以会有blink的jar包 大数据组件 依赖包来源 具体的依赖包 Hadoop3.1.2 用户添加 javax.ws.rs-api-2.0-m11.jar jerse ...

  9. hive 取消打印日志信息_Hive及其相关大数据组件

    HDFS架构 Hadoop 分布式文件系统(HDFS)是 Hive 存储数据的地方,简单了解HDFS的基本机制和读写工作机制,对于排查HiveSQL 程序是否由于数据存储引发的性能问题有较大的帮助. ...

最新文章

  1. 网络推广费用之你的文章标题优化“合格”了吗?
  2. TFS修改工作区映射区
  3. vs2010 利用DMP文件、pdb文件查找release下的异常行号的方法
  4. Java第三章 类和对象3.1+3.2
  5. 同步和异步, 阻塞和非阻塞, Reactor和Proactor
  6. VMWare vijava –“用户名或密码不正确”异常的奇怪情况
  7. vb中picturebox透明时看到下面的picturebox中图片
  8. 鸿蒙移植stm32,韦东山老师要移植鸿蒙的那个STM32MP157具体是什么?
  9. 中信银行Java笔试题库,手撕面试官
  10. C++处理有道单词导出单词本
  11. MySQL5.7数据库-索引优化
  12. 计算机网络各章节知识点总结
  13. 数据中心断路器整定值计算(二)
  14. Python专栏 | ICA应用:如何识别伪影信号?(一)
  15. jpeg 与 png 图片格式的区别
  16. LCD1602和12864简单的介绍
  17. python爬取公众号阅读量_公众号没做起来,那是你菜 | 爬取21个公众号数据后
  18. 如何选择Python版本2还是3
  19. 程序员十二星座行为大赏
  20. 动手实验 CVE-2010-3333 Microsoft RTF栈溢出漏洞

热门文章

  1. php 上传类 缩略图,php图片文件上传类 (附自动生成缩略图) | 学步园
  2. Python项目:生成微信好友头像拼接图
  3. R和RStudio下载安装详细步骤
  4. python实现编译器链接器_Python入门之Python编译器
  5. 用rest造句子_rest的用法和短语例句
  6. 基于linux的智能小车_商汤首款原创机器人SenseRover X自动驾驶小车斩获Red Dot Award...
  7. 男人必读:女人64个谜团
  8. 又崩了?苹果发生大规模网络故障:多项服务受影响 目前已恢复
  9. 不叫K50 Pro+!Redmi K50系列超大杯或有新名称
  10. 中国电信:1月5G套餐用户数净增826万户