HDFS写文件流程
关键点:
- hadoop2.x版本默认块大小为128M,所以预处理文件时,对200M的文件分块就是分成128M和72M。
- 第二步前,namenode需要根据client传递过来的消息来判断是否可以写文件,判断依据有是否存在目录,是否已存在文件等。
- namenode选取datanode时可以遵循机架感知策略来选择机器。默认情况没有开启,是随机选择机器。如果需要开启,需要在hadoop-site.xml文件添加,value指定一个可执行程序,输入为datenode,输出为机架。需要人为编写,一般策略是第一个副本放在一个机架,第二个副本放在和每一个副本同一个机架的机器上,第三个副本放在另一个机架的机器上。
- block传输完毕后,DataNode通知NameNode是为了让NameNode回滚日志,记录更新。
hdfs读数据流程
关键点:
- 第一步请求下载文件时,namenode会判断你的用户是否有可读权限,指定路径是否有文件。
- client向datanode读数据时,是