课程表

Hadoop课程

工具箱
速查手册

Hadoop HDFS概述

当前位置:免费教程 » 大数据/云 » Hadoop

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

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

HDFS的特点

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

HDFS架构

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

HDFS架构

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

  • Block数据

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

    1. 基本存储单位,一般大小为64M(配置大的块主要是因为:1)减少搜寻时间,一般硬盘传输速率比寻道时间要快,大的块可以减少寻道时间;2)减少管理块的数据开销,每个块都需要在NameNode上有对应的记录;3)对数据块进行读写,减少建立网络的连接成本)

    2. 一个大文件会被拆分成一个个的块,然后存储于不同的机器。如果一个文件少于Block大小,那么实际占用的空间为其文件的大小

    3. 基本的读写单位,类似于磁盘的页,每次都是读写一个块

    4. 每个块都会被复制到多台机器,默认复制3份
  • NameNode

    namenode是包含GNU / Linux操作系统和namenode软件的商用硬件。它是一个可以在商用硬件上运行的软件。具有namenode的系统充当主服务器,它执行以下任务:管理文件系统命名空间;调整客户端对文件的访问;执行文件系统操作,例如重命名,关闭和打开文件和目录。

    1. 存储文件的metadata,运行时所有数据都保存到内存,整个HDFS可存储的文件数受限于NameNode的内存大小

    2. 一个Block在NameNode中对应一条记录(一般一个block占用150字节),如果是大量的小文件,会消耗大量内存。同时map task的数量是由splits来决定的,所以用MapReduce处理大量的小文件时,就会产生过多的map task,线程管理开销将会增加作业时间。处理大量小文件的速度远远小于处理同等大小的大文件的速度。因此Hadoop建议存储大文件

    3. 数据会定时保存到本地磁盘,但不保存block的位置信息,而是由DataNode注册时上报和运行时维护(NameNode中与DataNode相关的信息并不保存到NameNode的文件系统中,而是NameNode每次重启后,动态重建)

    4. NameNode失效则整个HDFS都失效了,所以要保证NameNode的可用性
  • Secondary NameNode

    1. 定时与NameNode进行同步(定期合并文件系统镜像和编辑日志,然后把合并后的传给NameNode,替换其镜像,并清空编辑日志,类似于CheckPoint机制),但NameNode失效后仍需要手工将其设置成主机
  • DataNode

    datanode是具有GNU / Linux操作系统和datanode软件的商用硬件。对于集群中的每个节点(商品硬件/系统),都会有一个datanode。这些节点管理其系统的数据存储。Datanodes根据客户端请求对文件系统执行读写操作。它们还根据namenode的指令执行诸如块创建,删除和复制的操作。

    1. 保存具体的block数据

    2. 负责数据的读写操作和复制操作

    3. DataNode启动时会向NameNode报告当前存储的数据块信息,后续也会定时报告修改信息

    4. DataNode之间会进行通信,复制数据块,保证数据的冗余性

HDFS的目的

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

  • 巨大的数据集HDFS应该每个集群有数百个节点来管理具有巨大数据集的应用程序。

  • 硬件数据当在数据附近进行计算时,可以有效地完成所请求的任务。特别是在涉及巨大数据集的情况下,它减少了网络流量并增加了吞吐量。

转载本站内容时,请务必注明来自W3xue,违者必究。
 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号