美文网首页
HDFS存储类型与策略

HDFS存储类型与策略

作者: 神呐_宽恕我把 | 来源:发表于2019-12-10 11:10 被阅读0次

    存储类型

    存储类型表示数据节点支持的多种物理存储介质的类型,有如下几类: 

    * RAM_DISK(transient) 

    * SSD 

    * DISK(default) 

    * ARCHIVE

    前三个分别对应内存存储,固态硬盘存储,机械磁盘存储,第4个我认为是压缩格式的机械存储

    按照RAM_DISK->SSD->DISK->ARCHIVE的顺序,存取速度由快到慢,单bit存储成本由高到低。

    通过datanode角色的配置项dfs.datanode.data.dir可以配置存储介质的位置和类型,比如:

    <property>

        <name>dfs.datanode.data.dir</name>

        <value>[RAM_DISK]file:///ram_disk,[SSD]file:///ssd1/dn,[DISK]file:///disk1/dn,[ARCHIVE]file:///archive1/dn</value>

    </property>

    存储策略

    在上表中,前两列分别是策略编号和策略名;第三列表示在有n个副本的情况下,各个副本都会被存放在什么类型的存储上;第四列表示在创建文件(写入第一个副本)时第三列指定的存储无法满足要求时备选的存储类型;第五列表示在生成副本时第三列指定的存储无法满足要求时备选的存储类型。以One_SSD策略为例,正常情况一个副本放在有SSD标签的存储上,其他副本放在DISK标签的存储上,在正常情况无法得到满足的情况下,副本可能会被“强制”放在SSD或者DISK上。

    按照All_SSD->One_SSD->Hot->Warm->Cold的顺序,面向的数据“越来越冷”,可以根据数据的冷热程度选择合理的策略。Lazy_Persist比较特殊,如果一个文件的存储策略被指定为Lazy_Persist,在写入时会先写入内存,再异步地写入磁盘,官方文档中提到“Applications can choose to use Lazy Persist Writes to trade off some durability guarantees in favor of reduced latency.”,即主要用来降低小数据量的写入延迟,代价是在某些情况下会有数据丢失。

    相关文章

      网友评论

          本文标题:HDFS存储类型与策略

          本文链接:https://www.haomeiwen.com/subject/kygwgctx.html