以block块的形式将大文件进行相应的存储
1* 64M
2*128M
文件线性切割成块:偏移量offset(byte)
block分散存储在集群节点中
单一文件block大小一致,文件与文件可以不一致
block可以设置副本数,副本分散在不同的节点中,副本数不要超过节点数量
文件上传可以设置BLOCK大小和副本数
已上传的文件block副本数可以调整,大小不变
只支持一次写入多次读取 同一时刻只有一个写入者
namenode 老板
1,掌握全局 管理DN的信息,管理元数据
2,接收秘书的请求 读写
3,与DN之间进行相应的通信
datanode 员工
1.干活的------存储数据
2,汇报自己的情况
3,接受秘书的安排
写操作
1,有一个大文件
2,client会将大文件进行切块
大文件的大小/128M = block块数
3,向NN汇报
1)块数
2)文件的大小
3)文件的权限
4)文件的属主
5)文件的上传时间
for(Block block:block){
4,client切下一块128M
5,client会向NN去申请资源—DN的信息
6 NN会返回一批负载不高的DN给client
7client会向DN里面发送block并且做好备份
8DN存放block块之后会向NN汇报情况
}在这里插入图片描述