Hadoop - HDFS 概述



Hadoop 文件系统是使用分布式文件系统设计开发的。它运行在商用硬件上。与其他分布式系统不同,HDFS 具有高度容错性,并且使用低成本硬件设计。

HDFS 存储大量数据并提供更轻松的访问。为了存储如此庞大的数据,文件存储在多台机器上。这些文件以冗余方式存储,以在发生故障时防止系统可能的数据丢失。HDFS 还使应用程序能够进行并行处理。

HDFS 的特点

  • 它适用于分布式存储和处理。
  • Hadoop 提供了一个命令接口来与 HDFS 交互。
  • NameNode 和 DataNode 的内置服务器帮助用户轻松检查集群的状态。
  • 对文件系统数据的流式访问。
  • HDFS 提供文件权限和身份验证。

HDFS 架构

以下是 Hadoop 文件系统的架构。

HDFS Architecture

HDFS 遵循主从架构,它包含以下元素。

NameNode

NameNode 是包含 GNU/Linux 操作系统和 NameNode 软件的商用硬件。它是一种可以在商用硬件上运行的软件。拥有 NameNode 的系统充当主服务器,并执行以下任务:

  • 管理文件系统命名空间。

  • 规范客户端对文件的访问。

  • 它还执行文件系统操作,例如重命名、关闭和打开文件和目录。

DataNode

DataNode 是包含 GNU/Linux 操作系统和 DataNode 软件的商用硬件。集群中的每个节点(商用硬件/系统)都将有一个 DataNode。这些节点管理其系统的数据存储。

  • DataNode 根据客户端请求对文件系统执行读写操作。

  • 它们还根据 NameNode 的指示执行块创建、删除和复制等操作。

通常,用户数据存储在 HDFS 的文件中。文件系统中的文件将被分成一个或多个段,并/或存储在各个数据节点中。这些文件段称为块。换句话说,HDFS 可以读取或写入的最小数据量称为块。默认块大小为 64MB,但可以根据需要在 HDFS 配置中进行更改。

HDFS 的目标

故障检测和恢复 - 由于 HDFS 包含大量商用硬件,因此组件故障很常见。因此,HDFS 应该具有快速且自动的故障检测和恢复机制。

海量数据集 - HDFS 应该每个集群拥有数百个节点来管理具有海量数据集的应用程序。

数据就近存储 - 当计算发生在数据附近时,可以有效地完成请求的任务。尤其是在涉及海量数据集的情况下,它可以减少网络流量并提高吞吐量。

广告