以图的形式详细介绍一下HDFS作为分布式文件管理的文件上传机制吧,毕竟文字描述太生硬,不好理解
先大概介绍以下HDFS
- hdfs集群分为namenode和datenode(secondary namenode)
- NameNode负责管理整个文件系统的元数据(记录数据的存放位置)
- DataNode不负责切块,只负责管理用户的文件数据块
- 文件会按照固定大小128M(blocksize)切成若干块后分布式存放在若干台datanode上
- 每一个文件块又可以有多个副本,并存放在不同datanode上,相同副本不会放在相同datanode上
- DataNode会定期向NameNode汇报自身所保存的文件的block信息,防止因为datanode机器损坏而造成副本数量减少,namenode就会指令在其他机器上复制丢失的副本到其他机器上,以维持副本数量,而namenode则负责记录文件副本的数量和位置
- HDFS的内部工作机制对客户端保持透明,客户端请求访问HDFS都是通过向namenode申请进行的
以下是详细执行流程图