Hadoop 简明教程

Hadoop - HDFS Overview

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

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

Features of HDFS

  1. 它适用于分布式存储和处理。

  2. Hadoop 提供了一个命令界面来与 HDFS 进行交互。

  3. 名称节点和数据节点的内置服务器帮助用户轻松检查集群状态。

  4. 流式访问文件系统数据。

  5. HDFS 提供文件权限和身份验证。

HDFS Architecture

下面给出了 Hadoop 文件系统的体系结构。

hdfs architecture

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

Namenode

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

  1. 管理文件系统命名空间。

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

  3. 同样,它执行文件系统操作,诸如重命名、关闭以及打开文件和目录。

Datanode

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

  1. 数据节点根据客户端请求在文件系统上执行读写操作。

  2. 它们还按照名称节点的说明执行诸如块创建、删除和复制的操作。

Block

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

Goals of HDFS

Fault detection and recovery − 由于 HDFS 包含大量商品硬件,所以组件故障经常出现。因此,HDFS 应具备快速的自动故障检测和恢复机制。

Huge datasets − HDFS 每集群应包含数百个节点来管理具有庞大数据集的应用程序。

Hardware at data − 当计算在数据附近发生时,可以高效地完成请求的任务。尤其是在涉及巨大数据集时,它可以减少网络通信并增加吞吐量。