大数据:数据采集平台之Apache Flume

大数据:数据采集平台之Apache Flume大数据:数据采集平台之ApacheFlume官网:https://flume.apache.org/Flume是Apache旗下的一款开源、高可靠、高扩展、容易管理、支持客户扩展的数据采集系统。Flume使用JRuby来构建,所以依赖Java运行环境。Flume最初是由Cloudera的工程师设计用于合并日志数据的系统,后来逐渐发展用于处理流数据事件。Flume设计成一个分布式…

大家好,又见面了,我是你们的朋友全栈君。



大数据数据采集平台之Apache Flume


  1. Apache Flume
    详情请看文章:《大数据:数据采集平台之Apache Flume

  2. Fluentd
    详情请看文章:《大数据:数据采集平台之Fluentd

  3. Logstash
    详情请看文章:《大数据:数据采集平台之Logstash

  4. Apache Chukwa
    详情请看文章:《大数据:数据采集平台之Apache Chukwa

  5. Scribe
    详情请看文章:《大数据:数据采集平台之Scribe

  6. Splunk Forwarder
    详情请看文章:《大数据:数据采集平台之Splunk Forwarder


官网: https://flume.apache.org/

Flume 是Apache旗下的一款开源、高可靠、高扩展、容易管理、支持客户扩展的数据采集系统。 Flume使用JRuby来构建,所以依赖Java运行环境。

Flume最初是由Cloudera的工程师设计用于合并日志数据的系统,后来逐渐发展用于处理流数据事件。
在这里插入图片描述
Flume设计成一个分布式的管道架构,可以看作在数据源和目的地之间有一个Agent的网络,支持数据路由。
在这里插入图片描述
每一个agent都由Source,Channel和Sink组成。

  1. Source:Source负责接收输入数据,并将数据写入管道。Flume的Source支持HTTP,JMS,RPC,NetCat,Exec,Spooling Directory。其中Spooling支持监视一个目录或者文件,解析其中新生成的事件。

  2. Channel:Channel 存储,缓存从source到Sink的中间数据。可使用不同的配置来做Channel,例如内存,文件,JDBC等。使用内存性能高但不持久,有可能丢数据。使用文件更可靠,但性能不如内存。

  3. Sink:Sink负责从管道中读出数据并发给下一个Agent或者最终的目的地。Sink支持的不同目的地种类包括:HDFS,HBASE,Solr,ElasticSearch,File,Logger或者其它的Flume Agent。

Flume在source和sink端都使用了transaction机制保证在数据传输中没有数据丢失。
在这里插入图片描述
Source上的数据可以复制到不同的通道上。每一个Channel也可以连接不同数量的Sink。这样连接不同配置的Agent就可以组成一个复杂的数据收集网络。通过对agent的配置,可以组成一个路由复杂的数据传输网络。
在这里插入图片描述
配置如上图所示的agent结构,Flume支持设置sink的Failover和Load Balance,这样就可以保证即使有一个agent失效的情况下,整个系统仍能正常收集数据。

Flume中传输的内容定义为事件(Event),事件由Headers(包含元数据,Meta Data)和Payload组成。
在这里插入图片描述
Flume提供SDK,可以支持用户定制开发:

Flume客户端负责在事件产生的源头把事件发送给Flume的Agent。客户端通常和产生数据源的应用在同一个进程空间。常见的Flume 客户端有Avro,log4J,syslog和HTTP Post。另外ExecSource支持指定一个本地进程的输出作为Flume的输入。当然很有可能,以上的这些客户端都不能满足需求,用户可以定制的客户端,和已有的FLume的Source进行通信,或者定制实现一种新的Source类型。

同时,用户可以使用Flume的SDK定制Source和Sink。似乎不支持定制的Channel。

参考:https://mp.weixin.qq.com/s/emQ_94T0_Hw3ywQc0-4Dtg

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/132816.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • win7电脑卡顿严重解决方法_电脑卡顿一下

    win7电脑卡顿严重解决方法_电脑卡顿一下最近有很多游戏玩家和小编说win7电脑玩2D游戏经常发生卡顿,游戏卡顿问题确实让玩家苦恼,因为导致2D游戏经常发生卡顿的原因有很多种,那么win7电脑玩2D游戏经常发生卡顿怎么办?不要着急,针对此问题,下面小编告诉大家造成2D游戏经常发生卡顿的六大解决方法。解决方法一:1、建议下载并安装【百度电脑专家】,2、打开【百度电脑专家】,在搜索框内输入“玩游戏卡”,在搜索结果里面选择第一项的【立即修复】,…

    2025年10月27日
    3
  • goland 激活服务器【2021.10最新】[通俗易懂]

    (goland 激活服务器)本文适用于JetBrains家族所有ide,包括IntelliJidea,phpstorm,webstorm,pycharm,datagrip等。https://javaforall.net/100143.htmlIntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,上面是详细链接哦~F…

    2022年3月30日
    299
  • 使用vue框架运行npm run dev 时报错解决

    使用vue框架运行npm run dev 时报错解决

    2021年10月11日
    64
  • 硬核总结!真二叉树、满二叉树、完全二叉树的性质与概念

    硬核总结!真二叉树、满二叉树、完全二叉树的性质与概念树形结构这是我们最熟悉的线性结构,线性结构的数据简单来说就是一条线,串起来一个个的节点。那树形结构是怎样的呢?很明显,顾名思义,它是一棵树的样子。将这棵树进行180度大翻转,就成了数据结构中的树形结构了可以初步看出,二叉树就是每个节点要么没有分枝,要么就是分两根枝,而多叉树的每个节点可以有任意的分枝。生活中的树形结构文件夹的管理就是我们生活中最常见的树形结构…

    2022年5月31日
    36
  • 详细BP神经网络预测算法及实现过程实例「建议收藏」

    1.具体应用实例。根据表2,预测序号15的跳高成绩。表2国内男子跳高运动员各项素质指标 序号 跳高成绩() 30行进跑(s) 立定三级跳远() 助跑摸高() 助跑4—6步跳高() 负重深蹲杠铃() 杠铃半蹲系数 …

    2022年4月7日
    408
  • linux dlopen 相关

    linux dlopen 相关dlopen 3 Linux 手册页名称 dladdr dlclose dlerror dlopen dlsym dlvsym 动态链接加载器的编程接口概要 include lt nbsp dlfcn h nbsp gt void dlopen constchar nbsp filename nbsp int nbsp flag nbsp char dlerror void void dls

    2025年6月14日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号