暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

精心整理的15道 Apache Flume 面试题

原创 小小亮 2022-08-25
1104

Apache Flume 简介

Apache Flume 是一种数据摄取机制,用于收集、聚合来自不同来源(如日志文件、事件等)的大量流数据并将其传输到集中式数据存储。它具有基于流数据流的简单且适应性强的设计。它具有容错性和鲁棒性,具有可配置的可靠性技术以及多种故障转移和恢复技术。

阿帕奇水槽
来源:tekslate.com

Flume 是 Hadoop 的数据注入框架。代理部署在整个组织的 IT 基础架构中,包括 Web 服务器、应用程序服务器和移动设备,以收集数据并将其集成到 Hadoop 中。

阿帕奇水槽

来源:flume.apache.org

 

Flume的特点

以下是 Flume 的一些重要特性:

  • Flume 有效地将来自众多 Web 服务器的日志数据摄取到集中存储库(HDFS、HBase)中。

  • 使用 Flume,我们可以快速地将数据从多个服务器加载到 Hadoop 中。

  • Flume 支持多跳流、扇入扇出流、上下文路由和许多其他功能。

  • Flume 支持广泛的来源和目的地。

  • Flume 还用于从 Facebook 和 Twitter 等社交网站、亚马逊和 Flipkart 等电子商务网站以及日志文件导入大量事件数据。


Flume 面试题

1、Flume中哪个通道保证不会丢失数据?

FILE 通道是三个通道(JDBC、FILE 和 MEMORY)中最可靠的。

2. 解释 Flume 中的复制和多路复用选择器。

频道选择器用于同时管理多个频道。根据 Flume 标头值,可以将事件写入单个或多个通道。如果没有为源指定通道选择器,则默认使用复制选择器。使用复制选择器将相同的事件写入源频道列表中的所有频道。当应用程序必须将不同的事件传递到不同的通道时,使用多路复用通道选择。

3. Flume 核心组件是什么?

Apache Flume 的主要组件是 Source、Channels 和 Sink。当 Flume 源接收到来自外部源的事件时,它会将其存储在一个或多个通道中。Flume 通道暂时存储和保留事件,直到 Flume 接收器消耗它们。它充当 Flume 存储库。Flume Sink 从通道中删除事件并将其存储在外部存储库中,例如 HDFS,或者它移动到下一个水槽。

4. 请解释大数据中使用的各种工具。

大数据中使用的工具包括

  • Hadoop:  Apache Hadoop 软件库提供了一个平台,用于使用跨计算机集群的基本编程概念分布式处理海量数据。

  • Hive: Apache Hive 是一种支持大规模分析的容错分布式数据仓库解决方案。

  • Pig: Apache Pig 是一个用于研究庞大数据集的平台,该平台由一种高级编程语言组成,用于描述数据分析算法和评估这些程序的基础设施。

  • Flume: Apache Flume 是一种工具/服务/数据摄取机制,用于从多个来源收集、聚合和传输大量流数据(例如日志文件、事件等)到集中式数据存储库。

  • Mahout:  Apache Mahout(TM) 是一个分布式线性代数框架和数学表达的 Scala DSL,它允许数学家、统计学家和数据科学家快速开发他们的算法。

  • Sqoop: Apache Sqoop(TM) 是一种用于在 Apache Hadoop 和结构化数据存储(例如关系数据库)之间移动大量数据的工具。

5. 解释 Flume 中不同的通道类型。哪种通道类型更快?

Flume 内置的三种通道类型如下:

  • MEMORY Channel –事件从源读取并存储在内存中,然后再发送到接收器。

  • JDBC 通道 – JDBC 通道在嵌入式 Derby 数据库中记录事件。

  • FILE Channel –从源读取事件后,FILE Channel 将数据发布到文件系统上的文件。仅当内容成功传送到接收器后,该文件才会被删除。

MEMORY Channel 是三个通道中最快的,但可能会丢失数据。您选择的渠道完全取决于大数据应用的性质和每个事件的重要性。

6、Flume如何与HBase一起使用?

Apache Flume 可能连接到两个 HBase 接收器。

  • HBаseSink (оrg.арасhe.flume.sink.hbаse.HBаseSink) 支持安全的 HBаse 集群以及在 HBаse 0.96 版本中引入的新型 HBаse IРС。

  • АsynсHBаseSink (оrg.арасhe.flume.sink.hbаse.АsynсHBаseSink) 比 HBаse sink 具有更好的性能,因为它可以很容易地使非阻塞调用 HBаse。

HBaseSink 的工作 -

Flume 事件被转换为 HBase 增量或放入 HBaseSink。序列化器实现了 HBaseEventSerializer,它在接收器开始运行时被实例化。对于每个事件,sink 调用序列化器中的初始化方法,然后将 Flume Event 转换为 HBase 增量并将其发送到 HBase 集群。

AsyncHBaseSink 的工作 -

AsyncHBaseSink 实现了 AsyncHBaseEventSerializer。接收器在启动时只使用一次初始化函数。接收器调用 setEvent 方法,然后调用 getIncrements 和 getActions 方法,类似于 HBase 接收器。当 sink 停止时,序列化程序调用 cleanUp 函数。

7. 为什么我们使用 Flume?

Hadoop开发人员经常使用它从社交媒体网站获取数据。Cloudera 创建它是为了收集和传输大量数据。主要应用是从各种来源收集日志文件并将它们异步保存在 Hadoop 集群中。

8. Flume 的哪两个特点比较突出?

Flume 有效地从多个来源收集、聚合和传输大量日志数据到一个集中的数据存储库。Flume 不仅限于日志数据聚合;它可以传输大量事件数据,包括但不限于网络流量数据、社交媒体生成的数据、电子邮件消息以及几乎任何数据存储。

9. 什么是 Flume NG?

用于流式传输 Hadoop 数据的实时数据加载器。信息保存在 HDFS 和 HBase 中。您应该开始使用 Flume NG,它优于原始水槽。

10. 解释 Apache Flume 中的可靠性和故障处理?

Flume NG 利用基于通道的事务来确保消息传递的可靠性。当消息从一个代理传递到另一个代理时,会启动两个事务:一个在发送事件的代理上,另一个在接收事件的代理上。为了让发送代理提交其事务,它必须从接收代理接收成功指示。接收代理仅在其事务成功提交时才提供成功指示符。这确保了流在跃点之间确保了传递语义。

11. 什么是 Flume 事件?

水槽事件是包含字符串属性集合的数据单元。Web 服务器或其他外部源将事件传输到源。在内部,Flume 具有理解源格式的能力。

每个日志文件都被视为一个事件。每个事件包括包含标题信息和给定标题的相应值的标题和值扇区。

12 Apache Flume 是否支持第三方插件?

是的,Flume 有 100% 基于插件的架构。它可以从外部源加载数据并将其发送到与 Flume 不同的外部目的地。所以大多数大数据分析都使用这个工具来处理流数据。

13.Filesink和Filerollsink的区别?

HDFS FileSink 和 FileRollSink 的主要区别在于 HDFS FileSink 将事件上传到 Hadoop 分布式文件系统 (HDFS),而 FileRollSink 将事件保存在本地文件中。

14. Flume Configurations有哪些复杂的步骤?

Flume 可以处理流数据。因此,一旦启动,过程就没有结束。代理可以将数据从源异步传输到 HDFS。首先,代理必须了解各种组件如何链接到加载数据。因此,设置用作加载流数据的触发器。要从 Twitter 获取数据,consumerkey、consumersecret、accessToken 和 accessTokenSecret 是必需的参数。

15. Flume 是否保证数据流 100% 的可靠性?

是的,它确保了端到端的流量可靠性。默认情况下,Flume 采用事务性数据流策略。通道包含事务存储库内的源和接收器。

结论

在本文中,在本文中,我们汇总了最新的 Flume 面试问题以及这些问题的最佳解决方案。

因此,我们真的相信这些 Flume 面试问题将帮助您理解您在面试过程中可能遇到的 Flume 面试问题。以下是上一篇文章的一些关键见解:

  • Flume 是一个开源数据聚合和传输程序,它从远程 Web 服务器收集和聚合大量数据并将其移动到中心位置。
  • Apache Flume 的术语和特性已经讨论过了。
  • 我们了解了通道、选择器和处理等知识。
  • 我们了解了 HBase 以及如何使用 Flume。



原文标题:Apache Flume Interview Questions

原文作者:Prashant Sharma

原文链接:https://www.analyticsvidhya.com/blog/2022/07/apache-flume-interview-questions/

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论