Hadoop HDFS简介
HDFS是一种设计用于在通用硬件(commodity hardware)上运行的分布式文件系统。最初是作为Apache Nutch网络搜索引擎项目的基础设施而构建的。
-
HDFS具有高度容错能力,旨在部署在低成本硬件上。
-
HDFS提供对应用程序数据的高吞吐量访问,适用于具有大型数据集的应用程序。
-
HDFS放宽了一些POSIX要求,以实现对文件系统数据的流式访问。
HDFS架构
HDFS采用master/slave架构,并具有以下元素:
NameNode
NameNode是一个中心服务器,负责:
-
管理文件系统的名字空间(namespace)
-
客户端对文件的访问
Namenode执行文件系统的名字空间操作,比如打开、关闭、重命名文件或目录。它也负责确定数据块到具体Datanode节点的映射。
DataNode
集群中的Datanode一般是一个节点一个,负责管理它所在节点上的存储:
-
Datanode负责处理文件系统客户端的读写请求。
-
在Namenode的统一调度下进行数据块的创建、删除和复制。
Block
用户的数据以文件的形式存储在HDFS的文件系统中。 从内部看,一个文件其实被分成一个或多个数据块,这些块存储在一组DataNode上,每个块尽可能地存储于不同的DataNode中。之前1.x默认大小为64M,2.8.5的默认大小已经是128M。
Rack
可简单理解为存放服务器的支架。
HDFS采用一种称为机架感知(rack-aware)的策略来改进数据的可靠性、可用性和网络带宽的利用率。
HDFS中的文件是一次写入的(除了追加和截断),并且在任何时候都有一个写入器,亦即一次写入多次读取。
NameNode它定期从群集中的每个DataNode接收Heartbeat和Blockreport。收到Heartbeat意味着DataNode正常运行。Blockreport包含DataNode上所有块的列表。
除特别注明外,本站所有文章均为 windcoder 原创,转载请注明出处来自: hadoop-hdfsjianjie

暂无数据