Hadoop 3 的主要优缺点

本文的目的是讨论 Hadoop 3.0 的优缺点。随着 Hadoop 3.0 中引入了许多更改,它已成为更好的产品。

Hadoop 3 的主要优缺点

Hadoop 旨在存储和管理大量数据。Hadoop 有许多优点,例如,它是免费和开源的,易于使用的,其性能等。但是,另一方面,它也有一些缺点。因此,让我们开始探索 Hadoop 的主要优点和缺点。

Hadoop 的优势

Hadoop 易于使用,可扩展且具有成本效益。在这里,我们将讨论 Hadoop 的 12 大优势

Hadoop 的优势

1. 各种数据源

Hadoop 存储各种数据。数据可以来自各种来源,并且可以是结构化或非结构化的形式。Hadoop 可以从各种数据中获取价值。Hadoop 可以接受文本文件,XML 文件,图像,CSV 文件等中的数据。

2. 高性价比

Hadoop 是一种经济的解决方案,因为它使用集群来存储数据。而硬件是便宜的机器,因此将节点添加到框架的成本不是很高。在 Hadoop 3.0 中,只有 50% 的存储开销,而在 Hadoop2.x 中只有 200%。由于冗余数据显着减少,因此需要较少的机器来存储数据。

3. 表现

Hadoop 及其分布式处理和分布式存储体系结构可高速处理大量数据。Hadoop 甚至在 2008 年击败超级计算机成为最快的计算机。它将输入数据文件划分为多个块,并将数据存储在多个节点上的 block 块中。它还将用户提交的任务分为多个子任务,这些子任务分配给包含所需数据的这些工作节点,并且这些子任务并行运行,从而提高了性能。

4. 容错

在 Hadoop 3.0 中,擦除编码提供了容错能力。例如,6 个数据块通过使用擦除编码技术产生 3 个奇偶校验块,因此 HDFS 总共存储了这 9 个块。如果任何节点发生故障,可以使用这些奇偶校验块和其余数据块来恢复受影响的数据块。

5. 高度可用

在 Hadoop 2.x 中,HDFS 架构具有一个活动的 NameNode 和一个 Standby NameNode,因此,如果 NameNode 发生故障,则我们可以依靠备用 NameNode。但是 Hadoop 3.0 支持多个备用 NameNode,从而使系统具有更高的可用性,因此如果两个或多个 NameNode 崩溃,它可以继续运行。

6. 低网络流量

在 Hadoop 中,用户提交的每个作业都被分为多个独立的子任务,并且这些子任务被分配给数据节点,从而将少量代码移动到数据中,而不是将大量数据移动到代码中,从而导致低网络流量。

7. 高通量

吞吐量是指单位时间内完成的工作。Hadoop 以分布式方式存储数据,从而可以轻松地使用分布式处理。给定的作业分为多个小作业,这些作业并行处理数据块,从而提供高吞吐量。

8. 开源

Hadoop 是一种开源技术,即其源代码可免费获得。我们可以修改源代码以适合特定要求。

9. 可扩展

Hadoop 按照水平可伸缩性原理工作,即我们需要将整个计算机添加到节点群集中,而不要像添加 RAM,磁盘等那样更改计算机的配置,这被称为垂直可伸缩性。可以将节点动态添加到 Hadoop 集群,使其成为可扩展的框架。

10. 易于使用

Hadoop 框架提供分布式编程模型,MapReduce 的程序员只需按固定的模板编写分布式计算程序,而不需要关心他们如何实现分布式处理,它是在后台自动完成。

11. 相容性

大数据的大多数新兴技术都与 Hadoop 兼容,例如 Spark,Flink 等。它们具有在 Hadoop 上作为后端工作的处理引擎,即我们将 Hadoop 用作它们的数据存储平台。

12. 支持多种语言

开发人员可以在 Hadoop 上使用多种语言 (例如 C,C ++,Perl,Python,Ruby 和 Groovy) 进行编码。

Hadoop 的缺点

Hadoop 的缺点

1. 小文件问题

Hadoop 适用于处理相对较大的文件,但是涉及到处理大量小文件的时 (小文件比 Hadoop 的块大小小得多的文件,默认情况下,该块大小可以为 128MB 或 256MB),Hadoop 效率不高。这些大量的小文件使 Namenode 过载,因为 Namenode 存储了系统的名称空间,并使 Hadoop 难以运行。

2. 天生脆弱

Hadoop 用 Java 编写,Java 是一种广泛使用的编程语言,因此它容易被网络犯罪分子利用,这使得 Hadoop 容易受到安全漏洞的攻击。

3. 处理费用

在 Hadoop 中,数据是从磁盘读取并写入磁盘的,这在我们处理兆兆字节和 PB 级数据时使读 / 写操作非常昂贵。Hadoop 无法执行内存中计算,因此会增加处理开销。

4. 仅支持批处理

Hadoop核心是一个批处理引擎,该引擎在流处理方面效率不高。它不能以低延迟实时生成输出。它仅适用于我们在处理之前预先收集并存储在文件中的数据。

5. 迭代处理

Hadoop 本身无法进行迭代处理。机器学习 或迭代处理具有周期性的数据流,而 Hadoop 的数据是在多个阶段链中流动的,其中一个阶段的输出成为另一阶段的输入。

6. 安全性

为了安全起见,Hadoop 使用难以管理的 Kerberos 身份验证。它缺少存储和网络级别的加密,这是一个主要问题。

总结– Hadoop 的优缺点

业界使用的每种软件都有其自身的缺点和好处。如果该软件对业务至关重要,则可以利用其优势并采取措施以最大程度地减少故障。我们可以看到 Hadoop 的优点大于缺点,这使其成为满足大数据需求的强大解决方案。