存储模型:字节 默认的副本是3个
–文件线性切割成块(Block):偏移量 offset (byte)
–Block分散存储在集群节点中
–单一文件Block大小一致,文件与文件可以不一致 除了最后一块不需要 一致 前面都要一致
–Block可以设置副本数,副本分散在不同节点中
•副本数不要超过节点数量 (防止宕机了 就可能有副本没了)
•承担计算
–文件上传可以设置Block大小和副本数
–已上传的文件Block副本数可以调整,大小不变
–只支持一次写入多次读取,同一时刻只有一个写入者 因为存储后 如果再次写入其他副本 那么 后面其他的偏移量和 副本 都要用很多时间去慢慢推移 后面就直接废弃了 再次修改
–可以append追加数据
•集群
•角色==进程
–namenode
•数据元数据
•内存存储,不会有磁盘交换
•持久化(fsimage,eidts log)
–不会持久化block的位置信息
•block:偏移量,因为block不可以调整大小,hdfs,不支持修改文件
–偏移量不会改变
–datanode
•block块
•磁盘
•面向文件,大小一样,不能调整
•副本数,调整,(备份,高可用,容错/可以调整很多个,为了计算向数据移动)
–SN
–NN&DN
•心跳机制
•DN向NN汇报block信息
•安全模式
–client