Debian HDFS存储策略有哪些
小樊
36
2025-12-27 01:18:11
Debian上可用的HDFS存储策略
策略总览
- HOT(热):所有副本都存放在DISK,适合频繁访问的数据,是默认策略。
- WARM(温):部分副本在DISK,部分迁移到ARCHIVE,用于访问频率较低的场景。
- COLD(冷):所有副本都在ARCHIVE,适合长期归档、极少访问的数据。
- ALL_SSD:所有副本存放在SSD,追求高吞吐/低时延。
- ONE_SSD:仅将1个副本放在SSD,其余在DISK,在成本与性能间折中。
- LAZY_PERSIST:优先写入RAM_DISK(内存盘),随后延迟落盘到DISK,适合可容忍数据丢失的极致写入性能场景。
存储类型与前提条件
- 存储类型包括:DISK(机械盘)、SSD(固态盘)、ARCHIVE(高密度归档介质)、RAM_DISK(内存盘)。
- 启用策略:在hdfs-site.xml中开启dfs.storage.policy.enabled=true。
- 目录标记:在DataNode的dfs.datanode.data.dir中以“[类型]本地路径”格式标注各目录,例如:
- [DISK]file:///data/dn/disk0
- [SSD]file:///data/dn/ssd0
- [ARCHIVE]file:///data/dn/archive0
- [RAM_DISK]file:///mnt/dn-ramdisk
- 容量规划:启用LAZY_PERSIST时,需设置dfs.datanode.max.locked.memory,确保有足够的内存用于RAM_DISK写入(需小于节点可用物理内存)。
常用命令
- 列出所有策略:
- hdfs storagepolicies -listPolicies
- 为路径设置策略:
- hdfs storagepolicies -setStoragePolicy -path <路径> -policy <策略名>
- 取消策略(恢复继承):
- hdfs storagepolicies -unsetStoragePolicy -path <路径>
- 校验与查看:
- hdfs fsck <路径> -files -blocks -locations(查看块分布与存储类型)
选型建议
- 频繁访问/计算优先:选HOT;极致性能且成本允许:选ALL_SSD。
- 成本优先、访问较少:选COLD(全部ARCHIVE);访问中等:选WARM(DISK+ARCHIVE混合)。
- 写性能优先、可接受数据丢失风险:选LAZY_PERSIST(需配置RAM_DISK与内存锁定)。
- 折中方案:选ONE_SSD(热点数据在SSD,其他在DISK)。
注意事项
- 异构存储需提前按存储类型正确挂载并标注dfs.datanode.data.dir,否则策略无法按预期落地。
- LAZY_PERSIST依赖RAM_DISK与内存锁定配置,且存在断电/节点故障导致数据丢失的风险,生产使用需谨慎评估。
- 变更存储策略后,可结合HDFS Balancer做数据迁移与均衡,避免节点间容量/负载不均。