0678-6.2.0-如何在CDH中使用HDFS分层存储

2019-07-30 10:25:19 浏览数 (1)

文档编写目的

在前面的文章中,Fayson介绍过什么是HDFS分层存储,参考《6.2.0-什么是HDFS分层存储》。这个功能很早CDH就支持了,本文基于CDH6.2实际演示如何在CDH中使用HDFS分层存储。

  • 测试环境:

1.RedHat7.4

2.CDH6.2

配置并使用HDFS分层存储

在CM上修改DataNode数据目录,将六块SSD盘设置为SSD,另外十六块盘,六块设置为ARCHIVE,十块设置为DISK

1.测试使用SSD存储,执行wordcount

未提交作业前磁盘空间的容量

设置提交wordcount任务的HDFS数据目录的策略为ALL_SSD

执行生成数据的脚本,生成1TB测试数据

生成数据后查看磁盘,只有SSD容量增长了

提交wordcount任务

wordcount任务完成后查看磁盘,由于wordcount在执行过程中产生的中间数据落磁盘的目录未指定存储策略,所以默认使用hot策略,因此造成DISK存储的目录数据量有增长

2.测试使用ARCHIVE存储,执行sort

未提交作业前磁盘空间的容量

设置提交sort任务的HDFS数据目录的策略为cold

执行生成数据的脚本,生成1TB测试数据

生成数据后查看磁盘,只有ARCHIVE类型的磁盘容量增长了

提交sort任务

sort任务完成后查看磁盘,由于sort在执行过程中产生的中间数据落磁盘的目录未指定存储策略,所以默认使用hot策略,因此造成除了ARCHIVE存储的目录增长了之外,DISK存储的目录数据量也有增长

3.测试使用DISK存储,执行terasort

未提交作业前磁盘空间的容量

设置提交terasort任务的HDFS数据目录的策略为hot

执行生成数据的脚本,生成1TB测试数据

生成数据后查看磁盘,只有DISK存储的目录数据增长了

提交terasort任务

terasort任务完成后查看磁盘,发现只有DISK存储的目录数据增长了

总结

1.可以在CM上对HDFS的数据目录进行配置,配置上每块盘的存储类型,然后在使用HDFS时,对相应的HDFS指定存储策略,这样就可以让指定的数据存储到对应存储类型的磁盘,实现HDFS的分层存储。

2.在使用HDFS分层存储时需要注意对数据的分配,对于使用频繁的数据,可以存放在SSD上,对于归档的数据可以存放到ARCHIVE类型的磁盘,对于一些常用的基本数据可以存放在DISK类型的磁盘,对数据进行合理的分配,可以让所有磁盘的性能得到最好的发挥,同时可以获得最高的性价比。

Fayson的github: https://github.com/fayson/cdhproject

0 人点赞