是否可以将 HDFS 存储 types/policies 与 HBase 一起使用?

Is it possible to use HDFS storage types/policies together with HBase?

HDFS 有一个称为 storage types/policies 的功能 - 它可以将文件存储在具有不同属性的存储上(快速 SSD 或慢速但便宜的归档存储)。

不知能否通过HBase使用此功能?

我的用例是我有一些“热”数据,预计会被频繁访问,所以我想将其放在“热”(SSD) 存储中,而一些数据是“冷”数据,并且会被访问很少,所以我想把它放在更便宜的存储上。我正在尝试找出如何使用 HBase/HDFS.

来组织这个

HBase数据存储在HDFS中(如果HDFS是目标存储),路径配置为属性 hbase.rootdir。你可以从hbase-site.xml中找到它的值。然后,您可以针对该 HDFS 路径应用 HDFS 存储策略。

我可以看到存储策略允许您指定策略 on a file or directory 并且它们根据特定规则应用。

大家要记住,在安装HBase的时候,我们指定了存放数据的HDFS目录,例如:

<property>
   <name>hbase.rootdir</name>
   <value>hdfs://localhost:8030/hbase</value>
</property>

因此,/hbase 是一个 HDFS 目录,您可以在其中指定策略。我们知道 HBSE 的目录结构是这样的:

hdfs://hbase/data/MyFirstNamespace/MyTable1
hdfs://hbase/data/MyFirstNamespace/MyTable2

因此,我会在 HDFS 中设置目录级别的存储策略,例如,Cold 用于 MyTable1,All_SSD 用于 MyTable2:

hdfs storagepolicies -setStoragePolicy -path /hbase/data/MyFirstNamespace/MyTable1 -policy Cold
hdfs storagepolicies -setStoragePolicy -path /hbase/data/MyFirstNamespace/MyTable2 -policy All_SSD

这需要在创建新的 HBase 后完成 table。