工作机制
1,hdfs集群主要分为两大角色:namenode和datanode(secondary namenode )
2,namenode主要负责整个文件系统的元数据信息
3,datanode主要负责文件数据块的管理
4,文件会按照固定大小(blocksize)切分成若干块分布式存储在多台datanode
5,每一个文件块可以有多个副本,存放在不同的datanode上
6,Datanode会定期向Namenode汇报自身所保存的文件block信息,而namenode则会负责保持文件的副本数量
hdfs写流程
1,客户端向namenode申请上传文件
2,namenode检查文件是否存在及其目录是否存在,返回是否可以上传文件
3,客户端接收到可以上传文件的信息请求namenode上传第一个文件块
4,namenode接收到请求并返回可以储存文件块的datanode
5、客户端找到一台datanode上传数据,第一台向第二台传数据,第二台向第三台传数据,最后逐级返回上传成功
6,客户端接收到上传成功后继续上传第二个数据块
hdfs读流程
1,客户端向namenode申请下载文件,namenode返回文件所在的datanode
2,客户端接收到位置后去找对应的一台datanode下载数据