HDFS架构设计
1、HDFS的三个进程
NameNode:接受客户端请求、管理hdfs、维护文件元信息和操作日志
DataNode:存储数据块和数据块校验和、通过水平复制使文件冗余度满足要求
SecondaryNameNode:对文件元信息(fsimage文件)和操作日志(edits文件)进行合并
2、block大小和副本数
blocksize:
hadoop 1.x blocksize=64MB
hadoop 2.x blocksize=128MB
属性:hdfs-site.xml中的dfs.blocksize
副本数:
hadoop 1.x 3
hadoop 2.x 3
hadoop 3.x 1.5
属性:hdfs-site.xml中的dfs.replication
3、NameNode详解
A、目录结构
B、dfs.namenode.name.dir属性
所属配置文件:
hdfs-site.xml
解释:
该属性确定存放元数据的目录,存放元数据的目录下有fsimage、edits log、VERSION、in_use.lock等诸多文件或目录。
该属性可以指定多个路径,以逗号分隔。一旦一个路径对应的磁盘故障,多个路径可保证HDFS仍能找到文件的元数据,从而避免系统故障。
C、NameNode
NameNode:存储文件的命名空间,比如
a.文件对应哪些block,这些block位于哪些节点上
b.文件名称、文件属性、目录结构等
a存储在内存中,由DataNode在向NameNode注册时发生,或通过心跳机制周期性发送
b持久化在fsimage文件中
D、fsimag