FusionInsight 集群功能介绍-Flume

举报
Ragnar 发表于 2020/08/25 14:07:47 2020/08/25
【摘要】 基本原理 简介 Flume是一个分布式、可靠和高可用的海量日志聚合系统,支持在系统中定制各类数 据发送方,用于收集数据;同时,Flume提供对数据进行简单处理,并写入各种数据 接受方(可定制)的能力。Flume有如下几个特点: ● 收集、聚合事件流数据的分布式框架 ● 通常用于log数据 ...

基本原理

    简介    

            Flume是一个分布式、可靠和高可用的海量日志聚合系统,支持在系统中定制各类数 据发送方,用于收集数据;同时,Flume提供对数据进行简单处理,并写入各种数据 接受方(可定制)的能力。Flume有如下几个特点: 

            ● 收集、聚合事件流数据的分布式框架 

            ● 通常用于log数据 

            ● 采用ad-hoc方案(多跳,无中心控制节点方案) 

            ● 声明式配置,可以动态更新配置 

            ● 提供上下文路由功能 

            ● 支持负载均衡和故障转移 

            ● 完全的可扩展

    结构

            Flume Agent由Source、Channel、Sink组成,如图1-31所示,模块说明如表1-4所 示。

            图 1-31 Flume 结构图 1

            Flume01.PNG

           

            表 1-4 模块说明

            flume02.PNG

            Flume也可以配置成多个Source、Channel、Sink,如图1-32所示:

            图 1-32 Flume 结构图 2

            flume03.PNG

            

            Flume还支持多个Flume Agent级联,如图1-33所示。

            图 1-33 Flume 级联结构图

            flume04.PNG

      

原理    

            Agent之间的可靠性

            Agent之间数据交换流程如图1-34所示

            图 1-34 Agent 数据传输流程

            flume05.PNG

            

  1. Flume采用基于Transactions的方式保证数据传输的可靠性,当数据从一个Agent 流向另外一个Agent时,两个Transactions已经开始生效。发送Agent的Sink首先 从Channel取出一条消息,并且将该消息发送给另外一个Agent。如果接受消息的 Agent成功地接受并处理消息,那么发送Agent将会提交Transactions,标识一次 数据传输成功可靠地完成。

  2. 当接收Agent接受到发送Agent发送的消息时,开始一个新的Transactions,当该 数据被成功处理(写入Channel中),那么接收Agent提交该Transactions,并向 发送Agent发送成功响应。

  3. 如果在某次提交(commit)之前,数据传输出现了失败,将会再次开始上一次 Transactions,并将上次发送失败的数据重新传输。因为commit操作已经将 Transactions写入了磁盘,那么在进程故障退出并恢复业务之后,仍然可以继续上 次的Transactions。

与组件的关系

与 HDFS 的关系 

            当用户配置HDFS作为Flume的Sink时,HDFS就作为Flume的终数据存储系统, Flume将传输的数据全部按照配置写入HDFS中。

与 HBase 的关系 

            当用户配置HBase作为Flume的Sink时,HBase就作为Flume的终数据存储系统, Flume将传输的数据全部按照配置写入HBase中。

增强特性

提升传输速度

            可以配置将指定的行数作为一个Event,而不仅是一行,提高了代码的执行效率以及减 少写入磁盘的次数。

传输超大二进制文件 

            Flume根据当前内存情况,自动调整传输超大二进制文件的内存占用情况,不会导致 Outofmemory出现。

支持定制传输前后准备工作 

            Flume支持定制脚本,指定在传输前或者传输后执行指定的脚本,用于执行准备工 作。

管理客户端告警 

            Flume通过MonitorServer接收Flume客户端告警,并上报Manager告警管理中心。 



【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。