Hadoop - HDFS 概述

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

HDFS 拥有非常大量的数据并提供更容易的访问。 为了存储如此庞大的数据,文件存储在多台机器上。 这些文件以冗余方式存储,以在发生故障时使系统免受可能的数据丢失。 HDFS 还使应用程序可用于并行处理。


HDFS 的特点

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

HDFS 架构

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

HDFS 架构

HDFS遵循主从架构,它具有以下元素。

Namenode

名称节点是包含 GNU/Linux 操作系统和名称节点软件的商品硬件。 它是一种可以在商品硬件上运行的软件。 具有 namenode 的系统充当主服务器,它执行以下任务 −

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

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

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

Datanode

数据节点是具有 GNU/Linux 操作系统和数据节点软件的商用硬件。 对于集群中的每个节点(商品硬件/系统),都会有一个数据节点。 这些节点管理其系统的数据存储。

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

  • 它们还根据 namenode 的指令进行区块创建、删除、复制等操作。

Block

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


HDFS 的目标

故障检测和恢复 − 由于 HDFS 包含大量的商用硬件,组件故障频繁。 因此,HDFS 应该具有快速、自动的故障检测和恢复机制。

支持大的数据集 − HDFS 每个集群应该有数百个节点来管理具有大量数据集的应用程序。

移动计算而不是移动数据 − 当计算发生在数据附近时,请求的任务可以有效地完成。 特别是在涉及大量数据集的情况下,它减少了网络流量并增加了吞吐量。