## 代码已经上传github
[hadoop-train](https://github.com/yijia1992/hadooptrainv2)
## hdfs写数据流程
![](https://img.kancloud.cn/62/f6/62f638fd4df84f376815201c9d51432c_1124x510.png)
## hdfs读数据流程
![](https://img.kancloud.cn/33/50/335044484e11ba879abb6d81afef5967_988x432.png)
## hdfs元数据管理
* 元数据:HDFS的目录结构以及每个文件的BLOCK信息(id,副本系数、block存放在哪个DN上)
* 存在什么地方:对应配置 ${hadoop.tmp.dir}/name/......
![](https://img.kancloud.cn/b0/2c/b02c1f8952c47a5717b10a4c822042da_963x488.png)
## 安全模式
> 启动时namenode先进入安全模式检测datanode是否完好。检测完毕后退出安全模式。在安全模式中是不可以读写的。