什么是 Hadoop?简介, Archi结构、生态系统、组件

什么是 Hadoop?

Apache Hadoop 是一个开源软件框架,用于开发在分布式计算环境中执行的数据处理应用程序。

使用 HADOOP 构建的应用程序运行在分布于商用计算机集群的大型数据集上。商用计算机价格低廉且广泛可用。它们主要用于以低成本实现更大的计算能力。

与个人计算机系统的本地文件系统中驻留的数据类似,在 Hadoop 中,数据驻留在分布式文件系统中,称为 Hadoop 分布式文件系统. 处理模型基于 “数据局部性” 计算逻辑被发送到包含数据的集群节点(服务器)的概念。这种计算逻辑只不过是用高级语言编写的程序的编译版本,例如 Java。这样的程序处理存储在 Hadoop HDFS.

你知道吗? 计算机集群由一组多个处理单元(存储磁盘+处理器)组成,它们相互连接并作为单一系统运行。

Hadoop 生态系统和组件

下图展示了 Hadoop 生态系统中的各种组件:

Hadoop 生态系统和组件

Apache Hadoop 由两个子项目组成 -

  1. Hadoop MapReduce: MapReduce 是一种计算模型和软件框架,用于编写在 Hadoop 上运行的应用程序。这些 MapReduce 程序能够在大型计算节点集群上并行处理大量数据。
  2. 高密度文件系统 (Hadoop分布式文件系统): HDFS 负责 Hadoop 应用程序的存储部分。MapReduce 应用程序使用来自 HDFS 的数据。HDFS 创建数据块的多个副本并将它们分布在集群中的计算节点上。这种分布可实现可靠且极其快速的计算。

尽管 Hadoop 以 MapReduce 及其分布式文件系统 HDFS 而闻名,但该术语也用于一系列相关项目,这些项目属于分布式计算和大规模数据处理范畴。其他与 Hadoop 相关的项目 阿帕奇 包括 Hive、HBase、Mahout、Sqoop、Flume 和 ZooKeeper。

Hadoop的 Archi质地

Hadoop的 Archi质地
高级 Hadoop Archi质地

Hadoop 有一个主从 Archi数据存储和分布式数据处理的结构 映射简化 和 HDFS 方法。

名称节点:

NameNode 代表命名空间中使用的每个文件和目录

数据节点:

DataNode 可帮助您管理 HDFS 节点的状态,并允许您与块进行交互

主节点:

主节点允许您使用 Hadoop MapReduce 进行数据并行处理。

从节点:

从属节点是 Hadoop 集群中的附加机器,可用于存储数据以进行复杂的计算。此外,所有从属节点都配有 Task Tracker 和 DataNode。这允许您分别与 NameNode 和 Job Tracker 同步进程。

在 Hadoop 中,可以在云端或本地设置主系统或从系统

Hadoop 的功能

• 适用于大数据分析

由于大数据本质上往往是分布式和非结构化的,因此 HADOOP 集群最适合分析大数据分析。由于流向计算节点的是处理逻辑(而不是实际数据),因此消耗的网络带宽较少。这个概念被称为 数据局部性概念 这有助于提高基于 Hadoop 的应用程序的效率。

• 可扩展性

HADOOP 集群可通过添加其他集群节点轻松扩展至任意程度,从而支持大数据的增长。此外,扩展不需要修改应用程序逻辑。

• 容错

HADOOP 生态系统具有将输入数据复制到其他集群节点的功能。这样,如果集群节点发生故障,数据处理仍可使用存储在另一个集群节点上的数据继续进行。

Hadoop 中的网络拓扑

网络拓扑(排列)会影响 Hadoop 集群在规模增长时的性能。除了性能之外,还需要关注高可用性和故障处理。为了实现这一点,Hadoop 集群的形成利用了网络拓扑。

Hadoop 中的网络拓扑

通常,网络带宽是组建任何网络时要考虑的重要因素。然而,由于测量带宽可能很困难,在 Hadoop 中,网络以树的形式表示,并且该树的节点之间的距离(跳数)被视为 Hadoop 集群形成的重要因素。在这里,两个节点之间的距离等于它们与最近共同祖先的距离之和。

Hadoop 集群由数据中心、机架和实际执行作业的节点组成。这里,数据中心由机架组成,机架由节点组成。进程可用的网络带宽取决于进程的位置。也就是说,随着我们远离-

  • 同一节点上的进程
  • 同一机架上的不同节点
  • 同一数据中心不同机架上的节点
  • 不同数据中心的节点