当分级存储策略为LAZY_PERSIST时为什么文件的副本的存储类型为DISK
问题
当文件的存储策略为LAZY_PERSIST时,文件的第一副本的存储类型应为RAM_DISK,其余副本为DISK。
为什么文件的所有副本的存储类型都是DISK?
回答
当用户写入存储策略为LAZY_PERSIST的文件时,文件的三个副本会逐一写入。第一副本会优先选择客户端所在的DataNode节点,在以下情况下,当文件的存储策略为LAZY_PERSIST时,文件的所有副本的存储类型都是DISK:
- 当客户端所在的DataNode节点没有RAM_DISK时,则会写入客户端所在的DataNode节点的DISK磁盘,其余副本会写入其他节点的DISK磁盘。
- 当客户端所在的DataNode节点有RAM_DISK,但“dfs.datanode.max.locked.memory”参数值未设置或设置过小(小于“dfs.blocksize”参数值)时(对应参数值可登录Manager,选择“集群 > 服务 > HDFS > 配置 > 全部配置”搜索该参数获取),则会写入客户端所在的DataNode节点的DISK磁盘,其余副本会写入其他节点的DISK磁盘。