主要包含的内容
HDFS主要包含三大进程:NameNode、SecondaryNameNode、DataNode。
NameNode介绍
NameNode是整个文件系统的管理节点。它的功能有:
- 维护整个文件系统的文件目录树
- 维护文件/目录的元信息
- 维护每个文件对应的数据块列表
- 负责接收用户的操作请求
NameNode在启动时会被加载到内存中。 NameNode在本次磁盘中主要包含的文件
- fsimage:文件系统的镜像。存储某一个时刻的源数据信息
- edits:存储用户的修改操作记录
- seed_txid:存储的是所有修改记录的顺序信息
- VERSION:保存版本信息等
以上文件的保存路径由hdfs-default.xml文件中的dfs.namenode.name.dir属性控制。
NameNode维护着两份关系
- File和Block list的关系,对应的关系信息存储在fsimage和edits文件中。当NameNode启动时,会把文件中的内容加载到内存中
- DataNode与Block的关系。当DataNode启动时,会把当前节点的Block信息和节点信息上报给NameNode
SecondaryNameNode介绍
功能:主要负责定期将edits文件中内容合并到fsimage中。合并的操作称为checkpoint,在合并的时候会对edits中的内容进行转换,生成新的内容将保存到fsimage文件中。出发checkpoint的两个条件:
- 时间过一个小时
- 时间小于一个小时,但是对hadoop的操作超过一百万次
注意点:在NamaNode的高可用(High Available)架构中没有SecondaryNameNode进程的,这个文件合并操作是由standby NameNode负责实现
DataNode
- 提供真实文件数据的存储服务
- HDFS会按照固定大小、顺序对文件进行划分并编号、划分好的每一个块称为一个Block。HDFS默认的Block块大小是128M
- HDFS中,如果一个文件小于一个数据块的大小,那么并不会占用整个数据块的存储空间。
310

被折叠的 条评论
为什么被折叠?



