微信公众号:码农小胡
Hadoop HDFS(二)
NAMENODE工作机制
NAMENODE职责:
(1)负责客户端请求的响应。 (2)元数据的管理,查询,修改。
元数据管理:
namenode对数据的管理采用了三种形式: 内存元数据 磁盘元数据镜像文件 数据操作日志文件
元数据存储机制
1)、内存中有一份完整的元数据
2)、磁盘中有一个“准完整”的元数据镜像
3)、用于衔接内存metadata和持久化元数据镜像fsimage之间的操作日志
checkpoint的详细过程
1、更新内存。
2、secondarynamenode请求是否需要checkpoint,如果满足条件,checkpoint。
3、namnode滚动,当前正在写的edits。
4、下载操作的文件到secondarynamenode。
5、加载到内存中并合并数据。
6、dump成新的image文件。
7、上传到namenode中。
8、重命名成fsimage文件。
( 附带作用:namenode和secondary namenode的工作目录存储结构完全相同,所以,当namenode故障退出需要重新恢复的时候,可以从secondary namenode的工作目录中将fsimage拷贝到namenode的工作目录,以恢复namenode的元数据 )
DATANODE工作机制
工作职责:
存储用户的文件块数据
定期向namenode汇报自身所持有的block信息
datanode掉线判断时限参数
datanode进程死亡或者网络故障造成datanode无法与namenode通信,namenode不会立即把该节点判定死亡,要经过一段时间,这段时间暂称操作时长,HDFS默认的超时时长为10分钟+30秒
HDFS JAVA 操作 直接放代码到GitHub上面了
GitHub地址