博学谷提供支持
hdfs包括两个层次,分别是命名空间管理和块/存储管理。
1.命名空间管理
hdfs的命名空间包含目录、文件和块。命名空间管理是指命名空间支持对hdfs中的目录、文件和块做类似文件系统的创建、修改、删除、列表文件和目录等基本操作。
2.块/存储管理
在块存储服务中包含两部分工作,即块管理和物理存储。这是一个更通用的存储服务。其他的应用可以直接建立在block storage上,如hbase、foreign namespaces等。
(1)块管理
处理datanode向namenode注册的请求,处理datanode的成员关系,处理来自datanode周期性的心跳。
处理来自块的报告信息,维护块的位置信息。
处理与块相关的操作,包括块的创建、删除、修改及获取块信息。
管理副本放置(replica placement)和块的复制及多余块的删除。
(2)物理存储
所谓物理存储就是datanode把块存储到本地文件系统中,对本地文件系统的读、写操作。
hdfs架构
整个hdfs集群中只有一个namenode,还有一个backup namenode。
namenode会实时将变化的hdfs的信息同步给backup namenode。
backup namenode顾名思义是用来做namenode的备份的。
namenode中命名空间以层次结构组织存储着文件名和blockid的对应关系、
blockid和具体block位置的对应关系。
这个单独的namenode管理着数个datanode,block分布在各个datanode中,每个datanode会周期性地向此namenode发送心跳消息,报告自己所在datanode的使用状态。
block是用来存储数据的最小单元,通常一个文件会存储在一个或者多个block中,默认block的大小为64mb。
发表评论