并不是所有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://examplebucket/dir的存儲類型為CLOUD_STD,則oss://examplebucket/dir/subdir存儲類型也為CLOUD_STD。 |
| 該命令用于查詢指定路徑下數據的存儲策略。 |
| 該命令用于取消指定路徑下的數據的存儲策略。 |
| 該命令用于查詢指定路徑下數據存儲策略的轉換狀態。轉換狀態分為以下四種:
說明 該命令只用于查詢OSS-HDFS元數據轉換任務的狀態,不能反映已提交到OSS的任務處理狀態。 |
| 該命令用于臨時解凍指定路徑下的歸檔或者冷歸檔存儲類型的數據。
臨時解凍歸檔或者冷歸檔數據時,有以下注意事項: 重要
|