5.3.3. 附录(背景)
1. 硬盘对比
SSD盘:
- 优点:无噪音,体积小,速度快,重量轻,发热小
- 缺点:容量相对小,价格昂贵,数据稳定性不如SATA
SATA盘
- 优点:容量大,价格低,技术成熟,存储可靠
- 缺点:速度相对于固态硬盘慢,噪声大
由此可见,SSD硬盘的优势很明显,但是综合考虑成本和数据数据安全的问题,SSD并不能完全取代SATA。
Hadoop在2.6.0版本以后引入了异构存储,就是根据存储介质的不同特性发挥各自的优势。针对不需要多次访问的数据,采用容量大但可以读写性能一般的存储介质存储;而对于需要多次访问的数据,可以采用SSD的方式存储。
2. 异构机制
(1) HDFS中存储介质分类(StoragType类中有相关定义)
RAM_DISK(内存)
SSD(固态硬盘)
DISK(普通硬盘,在HDFS中,如果没有主动声明数据目录存储类型默认都是DISK)
ARCHIVE(没有特指哪种存储介质,主要的指的是计算能力比较弱而存储密度比较高的存储介质,用来解决数据量的容量扩增的问题)
(2) HDFS异构存储的存储策略
① 存储策略种类
Lazy_persist:一个副本保存在内存RAM_DISK中,其余副本保存在磁盘中
ALL_SSD:所有副本都保存在SSD中
One_SSD:一个副本保存在SSD中,其余副本保存在磁盘中
Hot:所有副本保存在磁盘中,这也是默认的存储策略
Warm:一个副本保存在磁盘上,其余副本保存在归档存储上
Cold:所有副本都保存在归档存储上
② 存储策略相关shell命令
hdfs dfsadmin -setStoragePolicy
--创建文件或目录时,其存储策略未指定,可以使用该命令指定存储策略。
hdfs storagepolicies -setStoragePolicy -path xxx -policy xxx
--为指定路径(数据存储目录)设置指定的存储策略
hdfs storagepolicies -getStoragePolicy -path xxx
--获取指定路径(数据存储目录或文件)的存储策略
hdfs storagepolicies -unsetStoragePolicy -path xxx
--取消存储策略;执行改命令之后该目录或者文件,以其上级的目录为准,如果是根目录,那么就是HOT。
(3) HDFS异构存储的原理
① DataNode通过心跳汇报自身数据存储目录的StorageType给NameNode(数据存储目录的解析/心跳汇报过程)
② 随后NameNode进行汇总并更新集群内各个节点的存储类型情况
③ 待存储文件根据自身设定的存储策略信息向NameNode请求拥有此类型存储介质的DataNode作为候选节点
(4) HDFS异构存储流程
HDFS异构存储过程调用的流程图
异构存储更多介绍请参考Hadoop官方。