Hadoop - HDFS 概述
Hadoop文件系统是采用分布式文件系统设计开发的。它在商用硬件上运行。与其他分布式系统不同,HDFS 具有高度容错性,并且使用低成本硬件设计。
HDFS 保存大量数据并提供更轻松的访问。为了存储如此庞大的数据,文件被存储在多台机器上。这些文件以冗余方式存储,以防止系统出现故障时可能发生的数据丢失。HDFS 还使应用程序可用于并行处理。
HDFS的特点
- 适合分布式存储和处理。
- Hadoop提供了与HDFS交互的命令接口。
- namenode和datanode内置的服务器可以帮助用户轻松查看集群的状态。
- 对文件系统数据的流式访问。
- HDFS提供文件权限和身份验证。
HDFS架构
下面给出的是 Hadoop 文件系统的架构。
HDFS遵循主从架构,它具有以下元素。
名称节点
namenode 是包含 GNU/Linux 操作系统和 namenode 软件的商品硬件。它是一种可以在商用硬件上运行的软件。具有名称节点的系统充当主服务器,它执行以下任务 -
管理文件系统命名空间。
规范客户端对文件的访问。
它还执行文件系统操作,例如重命名、关闭和打开文件和目录。
数据节点
数据节点是具有 GNU/Linux 操作系统和数据节点软件的商品硬件。对于集群中的每个节点(商品硬件/系统),都会有一个数据节点。这些节点管理其系统的数据存储。
数据节点根据客户端请求在文件系统上执行读写操作。
它们还根据namenode的指令执行块创建、删除和复制等操作。
堵塞
一般用户数据存储在HDFS的文件中。文件系统中的文件将被分为一个或多个段和/或存储在单独的数据节点中。这些文件段称为块。换句话说,HDFS可以读取或写入的最小数据量称为Block。默认块大小为 64MB,但可以根据 HDFS 配置更改的需要来增加。
HDFS 的目标
故障检测和恢复- 由于HDFS包含大量商用硬件,因此组件故障很频繁。因此HDFS应该具有快速、自动的故障检测和恢复机制。
巨大的数据集- HDFS 每个集群应该有数百个节点来管理具有巨大数据集的应用程序。
数据硬件- 当计算发生在数据附近时,可以有效地完成请求的任务。特别是在涉及海量数据集的情况下,它减少了网络流量并提高了吞吐量。