hadoop学习--HDFS

HDFS

1. HDFS(Hadoop Distributed File System)

HDFS是Hadoop项目的和核心子项目,是分布式计算中数据存储管理的基础,基于流数据模式访问和处理超大文件的需求而开发的,可以运行于廉价的商用服务器上。具有高容错、高可靠、高扩展性、高获得率、高吞吐率等特征。

2.HDFS体系架构

2.1 HDFS是什么?

HDFS是一个主从(Master/Slave)体系结构:master和slave都工作。还有一种主备体系结构,主工作,备用不工作。从用户角度来看,他就像传统的文件系统一样,可以通过目录路径对文件执行CRUD(Create、Read、Update、Delete)操作。
由于分布式存储的性质, Hdfs的组成如下:

HDFS
NameNode
DateNode
Secondary NameNode

面向文件包含:文件数据(data)以及元数据(metadata属性)。

2.2 各组成介绍

  • NmaeNode:管理文件系统的元数据(描述数据的数据),例如:文件名称、文件目录结构、文件属性(生成时间、副本数、文件权限、文件大小等)以及文件的块列表和块所在的DataNode等。并维护了一个层次型的文件目录树。
  • DataNode:存储实际的数据(block块),并提供block的读写。DataNode响应来自HDFS客户机的读写请求同时它们还响应来自NameNode的创建,删除和复制块的命令。
    NameNode依赖来自每个DataNode的定期心跳(heartbeat)消息。每条消息都包含一个块报告,NameNode可以根据这个报告验证块映射和其他文件系统元数据。如果DataNode不能发送心跳消息,NameNode将采用修复措施。重新复制在该节点上丢失的块。
  • 文件块(block):最基本的存储单位。对于文件内容而言,一个文件的长度大小size,那么从文件的0偏移开始,按照固定的大小,顺序对文件进行划分并编号,划分好的每一个称一个Block。HDFS默认BIock大小是128MB。不同于普通文件系统的是,HDFS中,如果一个文件小于一个数据块的大小,并不占用整个数据存储空间。

2.3 各部分的运行

客户端Client通过NameNode和DataNode的交互访问文件系统。客户端Client联系NameNode获取文件的元数据,而真正的文件I/O操作是直接和DataNode进行交互的,以获取block数据.

2.4 HDFS Architecture

2.5 HDFS的读写流程

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值