HDFS 浅析

一、 介绍

HDFS(Hadoop Distributed File System)是分布式文件存储系统,Hadoop项目的核心子项目,是分布式计算中数据存储管理的基础,是基于流数据模式访问和处理超大文件的需求而开发的,可以运行于廉价的商用服务器上。它所具有的高容错、高可靠性、高可扩展性、高获得性、高吞吐率等特征为海量数据提供了不怕故障的存储,为超大数据集(Large Data Set)的应用处理带来了很多便利。
HDFS适用于一次写入、多次查询的情况,不支持并发写情况,小文件不合适。因为小文件也占用一个块,小文件越多块越 多,名字节点压力越大。

二、基本结构

1.名字节点(NameNode)

NameNode的作用是管理文件目录结构,接受用户的操作请求,管理数据节点。
名字节点维护两套数据:
① 文件目录与数据块之间的关系。是静态的,存放在磁盘上的,通过fsimage和edits文件来维护。
② 数据块与节点之间的关系。不持久放到到磁盘,每当集群启动的时候,会自动建立这些信息,所以一般都放在内存中。
所以名字节点是整个文件系统的管理节点。它维护着整个文件系统的文件目录树,文件/目录的元信息和每个文件对应的数据块列表,接收用户的操作请求。
文件包括:
① fsimage(文件系统镜像):元数据镜像文件。存储某一时段NameNode内存元数据信息。
② edits:操作日志文件。

2.数据节点(DataNode)

Datanode 将 HDFS 数据以文件的形式存储在本地的文件系统中,它并不知道有 关 HDFS 文件的信息。它把每个 HDFS 数据块存储在本地文件系统的一个单独的文件中。
存储文件的真正数据。文件被分为一个个数据块存储在指定路径下面(数据块大小和存储路径都可以配置)。
文件包括:数据块文件和校验块文件。

3.客户端(Client)

完成对文件的读写删除等操作。

三、框架图

下面的框架图为HDFS的HA模式:
这里写图片描述

ZK:zookeeper
NN:NameNode
DN:DataNode

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值