Fork me on GitHub

Hadoop HDFS(二)

微信公众号:码农小胡

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文件。

secondarynamenode元数据checkpoint机制

( 附带作用:namenode和secondary namenode的工作目录存储结构完全相同,所以,当namenode故障退出需要重新恢复的时候,可以从secondary namenode的工作目录中将fsimage拷贝到namenode的工作目录,以恢复namenode的元数据

DATANODE工作机制

工作职责:

存储用户的文件块数据

定期向namenode汇报自身所持有的block信息

datanode掉线判断时限参数

datanode进程死亡或者网络故障造成datanode无法与namenode通信,namenode不会立即把该节点判定死亡,要经过一段时间,这段时间暂称操作时长,HDFS默认的超时时长为10分钟+30秒

HDFS JAVA 操作
直接放代码到GitHub上面了

GitHub地址