并不是所有OSS-HDFS中存储的数据都需要频繁访问,但基于数据合规或者存档等原因,部分数据仍然需要继续保存。针对以上问题,OSS-HDFS服务支持数据的冷热分层存储,对于经常需要访问的数据以标准类型进行存储,对于较少访问的数据以低频、归档以及冷归档类型进行存储,从而降低总存储成本。
前提条件
已在OSS-HDFS服务中写入数据。
华东1(杭州)、华东2(上海)、华北2(北京)、华南1(深圳)、华北3(张家口)、中国香港、新加坡、德国(法兰克福)、美国(硅谷)、美国(弗吉尼亚)、印度尼西亚(雅加达)地域支持使用冷热分层存储功能。
已提交工单申请使用冷热分层存储功能。
已安装4.4.0及以上版本JindoSDK 。具体操作,请参见非EMR集群接入OSS-HDFS服务快速入门。
注意事项
读取OSS-HDFS归档类型数据时,涉及数据取回费用。因此对于需要频繁访问的数据,应避免使用低频、归档以及冷归档类型。关于这三种类型数据取回费用的更多信息,请参见数据处理费用。
为OSS-HDFS服务的数据设置存储策略时,涉及数据块添加标签操作。数据块标签费用遵循OSS对象标签计费规则。更多信息,请参见对象标签费用。
当使用的JindoSDK版本低于6.4.0时,不支持在设置为低频、归档以及冷归档存储类型的目录下创建文件。如果您需要在这三种类型的目录下创建文件,可以在标准类型目录下创建并关闭文件后,通过rename操作转移到低频、归档以及冷归档目录。
如果您希望在低频、归档以及冷归档存储类型的目录下直接创建文件,您需要升级JindoSDK至6.4.0及以上版本。
数据转换为归档或者冷归档存储类型时,系统开销大,解冻取回慢,请谨慎选择。
支持数据从归档类型转换为冷归档存储类型,不支持数据从冷归档类型转换为归档类型。
操作步骤
配置环境变量。
连接ECS实例。具体操作,请参见连接ECS实例。
进入已安装的JindoSDK JAR包下的bin目录。
以下以
jindosdk-x.x.x-linux
为例,如使用其他版本的JindoSDK,请替换为对应的JAR包名称。cd jindosdk-x.x.x-linux/bin/
说明x.x.x表示JindoSDK JAR包版本号。
授予bin目录下的
jindo-util
文件的读、写、执行的权限。chmod 700 jindo-util
将
jindo-util
文件重命名为jindo
。mv jindo-util jindo
新建配置文件
jindosdk.cfg
,然后在配置文件中添加以下配置项。[common]保持以下默认配置。 logger.dir = /tmp/jindo-util/ logger.sync = false logger.consolelogger = false logger.level = 0 logger.verbose = 0 logger.cleaner.enable = true hadoopConf.enable = false [jindosdk]自定义以下配置项。 <!-- 以下以杭州地域为例,其他地域请根据实际情况替换。 --> fs.oss.endpoint = cn-hangzhou.oss-dls.aliyuncs.com <!-- 配置访问OSS-HDFS服务的AccessKeyId、AccessKeySecret。 --> fs.oss.accessKeyId = LTAI******** fs.oss.accessKeySecret = KZo1********
设置环境变量。
export JINDOSDK_CONF_DIR=<JINDOSDK_CONF_DIR>
<JINDOSDK_CONF_DIR>填写
jindosdk.cfg
配置文件所在的绝对路径。
指定为写入OSS-HDFS服务的数据设置存储策略。
场景
执行命令
执行结果
为写入OSS-HDFS服务的数据设置存储策略为低频访问存储
./jindo fs -setStoragePolicy -path oss://examplebucket/dir1 -policy CLOUD_IA
dir1/目录下的文件对应的数据块会携带Key为transition-storage-class、Value为IA的标签信息。
为写入OSS-HDFS服务的数据设置存储策略为归档存储
./jindo fs -setStoragePolicy -path oss://examplebucket/dir2 -policy CLOUD_AR
dir2/目录下的文件对应的数据块会携带Key为transition-storage-class、Value为Archive的标签信息。
为写入OSS-HDFS服务的数据设置存储策略为冷归档存储
./jindo fs -setStoragePolicy -path oss://examplebucket/dir3 -policy CLOUD_COLD_AR
dir3/目录下的文件对应的数据块会携带Key为transition-storage-class、Value为ColdArchive的标签信息。
开启冷热分层存储。
登录OSS管理控制台。
单击左侧导航栏的Bucket列表,然后单击目标Bucket。
在左侧导航栏,选择 。
在HDFS服务页签,单击设置冷热分层。
在冷热分层的冷热分层基础设置区域,打开状态开关。
为避免配置错误导致冷热分层无法正常工作,OSS会自动创建同时包含以下三种策略的生命周期规则:
指定OSS-HDFS的数据存储目录.dlsdata/下携带Key为transition-storage-class、Value为IA标签的数据在1天后转为低频访问存储。
指定OSS-HDFS的数据存储目录.dlsdata/下携带Key为transition-storage-class、Value为Archive标签的数据在1天后转为归档存储。
指定OSS-HDFS的数据存储目录.dlsdata/下携带Key为transition-storage-class、Value为ColdArchive标签的数据在1天后转为冷归档存储。
重要请勿编辑分层存储开启后自动创建的包含转换为低频、归档以及冷归档类型三种策略的生命周期规则,否则可能导致OSS-HDFS数据及服务异常。
单击确定。
OSS-HDFS服务会根据步骤2设置的存储策略应用生命周期中对应的转储策略。
生命周期规则创建后的24小时内,OSS会加载规则。规则加载完成后,OSS会在每天的北京时间08:00开始执行规则,具体执行时间取决于文件数量,最快48小时内转换为指定的存储类型。
相关命令
命令语法 | 使用说明 |
| 该命令用于为某个路径下的数据指定存储策略。
重要
|
| 该命令用于查询指定路径下数据的存储策略。 |
| 该命令用于取消指定路径下的数据的存储策略。 |
| 该命令用于查询指定路径下数据存储策略的转换状态。转换状态分为以下四种:
说明 该命令只用于查询OSS-HDFS元数据转换任务的状态,不能反映已提交到OSS的任务处理状态。 |
| 该命令用于临时解冻指定路径下的归档或者冷归档存储类型的数据。
临时解冻归档或者冷归档数据时,有以下注意事项: 重要
|