hadoop 分布式文件系统HDFS

Hadoop分布式文件系统(HDFS)设计用于运行在普通硬件上,提供高容错性和高吞吐量的数据访问。它采用主从架构,由NameNode和DataNode组成,NameNode管理文件系统命名空间和数据块映射,DataNode存储数据块。HDFS支持一次写入多次读取的文件模型,适用于大数据批处理,但不适用于低延迟访问和小文件存储。系统设计考虑硬件错误的常态,强调计算靠近数据的原则,并具备跨平台兼容性。
摘要由CSDN通过智能技术生成

Hadoop分布式文件系统(HDFS)被设计成适合运行在通用硬件(commodity hardware)上的分布式文件系统。它和现有的分布式文件系统有很多共同点。但同时,它和其他的分布式文件系统的区别也是很明显的。HDFS是一个高度容错性的系统,适合部署在廉价的机器上。HDFS能提供高吞吐量的数据访问,非常适合大规模数据集上的应用。

HDFS

这里在网上参考了一下官方文档、各类文章的各种解释,以及林子雨老师的大数据处理技术应用我把它整理了一下,并且加了一些自己的理解。

简介:

HDFS是Hadoop Distribute File System 的简称,也就是 hadoop 分布式文件系统,可以储存超大容量文件(GB甚至TB,PB级别),其最主要的作用是作为 Hadoop 生态中各系统的存储服务。

分布式文件系统

  • 分布式文件系统把文件分布存储到多个计算机节点上,成千上万的计算机节点构成计算机集群
  • 与之前使用多个处理器和专用高级硬件的并行化处理装置不同的是,目前的分布式文件系统所采用的计算机集群,都是由普通硬件构成的,这就大大降低了硬件上的开销
    在这里插入图片描述
    分布式文件系统在物理结构上是由计算机集群中的多个节点构成的,一般来说这些节点分为两类,一类叫“主节点”(Master Node)或者也被称为“名称结点”(NameNode),另一类叫“从节点”(Slave Node)或者也被称为“数据节点”(DataNode).

HDFS就采用master/slave架构。

一个HDFS集群是由一个Namenode和一定数目Datanodes组成。

Namenode是一个中心服务器,负责管理文件系统的名字空间(namespace)以及客户端对文件的访问。集群中的Datanode一般是一个节点一个,负责管理它所在节点上的存储。HDFS暴露了文件系统的名字空间,用户能够以文件的形式在上面存储数据。从内部看,一个文件其实被分成一个或多个数据块,这些块存储在一组Datanode上。Namenode执行文件系统的名字空间操作,比如打开、关闭、重命名文件或目录。它也负责确定数据块到具体Datanode节点的映射。

Datanode负责处理文件系统客户端的读写请求。在Namenode的统一调度下进行数据块的创建、删除和复制。

在这里插入图片描述

HDFS 前提和设计目标

硬件错误

硬件错误是常态而不是异常。HDFS可能由成百上千的服务器所构成,每个服务器上存储着文件系统的部分数据。我们面对的现实是构成系统的组件数目是巨大的,而且任一组件都有可能失效,这意味着总是有一部分HDFS的组件是不工作的。因此错误检测和快速、自动的恢复是HDFS最核心的架构目标。

流式数据访问

运行在HDFS上的应用和普通的应用不同,需要流式访问它们的数据集。HDFS的设计中更多的考虑到了数据批处理,而不是用户交互处理。比之数据访问的低延迟问题,更关键的在于数据访问的高吞吐量。POSIX标准设置的很多硬性约束对HDFS应用系统不是必需的。为了提高数据的吞吐量,在一些关键方面对POSIX的语义做了一些修改。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值