大数据存储Replication Factor
副本因子 是什么?
每个块存几份,默认 3 份,坏一台机器不影响读取
类比:重要合同复印三份,分别放在三个抽屉里
3 份是怎么放的
默认策略:第一份放在客户端所在机器(如果客户端在集群内),第二份放在另一个机架的机器,第三份放在第二份同机架的另一台。这样既保证跨机架容错,又控制跨机架流量。
代价与调整
副本越多越安全,但存储成本线性上升,写入也要传更多次。3 份是可靠性和成本的平衡点。冷数据、可重算的中间结果可以设成 2 甚至 1,能省下一半以上存储。
设置粒度可以到目录级,用 `hdfs dfs -setrep -w 2 /cold/data` 就能改,后台会自动复制或删除副本。
副本 ≠ 备份
副本防的是机器故障,不防误删和逻辑错误。`hdfs dfs -rm -r` 删掉的文件,三份副本会一起没。真正的备份要靠快照、回收站(trash)或异地复制。