Block模式提供了最為高效的資料讀寫能力和中繼資料訪問能力。資料以Block形式儲存在後端儲存OSS上,本地提供緩衝加速,中繼資料則由本地Namespace服務維護,提供高效的中繼資料訪問效能。本文主要介紹JindoFS的Block模式及其使用方式。
背景資訊
JindoFS Block模式具有以下幾個特點:- 海量彈性的儲存空間,基於OSS作為儲存後端,儲存不受限於本地叢集,而且本地叢集能夠自由Auto Scaling。
- 能夠利用本地叢集的儲存資源加速資料讀取,適合具有一定本機存放區能力的叢集,能夠利用有限的本機存放區提升吞吐率,特別對於一寫多讀的情境效果顯著。
- 中繼資料操作效率高,能夠與HDFS相當,能夠有效規避OSS檔案系統中繼資料操作耗時以及高頻訪問下可能引發不穩定的問題。
- 能夠最大限度保證執行作業時的資料本地化,減少網路傳輸的壓力,進一步提升讀取效能。
配置使用方式
- 進入SmartData服務。
- 登入阿里雲E-MapReduce控制台。
- 在頂部功能表列處,根據實際情況選擇地區和資源群組。
- 單擊上方的叢集管理頁簽。
- 在叢集管理頁面,單擊相應叢集所在行的詳情。
- 在左側導覽列,選擇 。
- 登入阿里雲E-MapReduce控制台。
- 進入namespace服務配置。
- 單擊配置頁簽。
- 單擊namespace。
- 配置以下參數。JindoFS支援多命名空間,本文命名空間以test為例。
- 修改jfs.namespaces為test。test表示當前JindoFS支援的命名空間,多個命名空間時以逗號(,)隔開。
- 單擊自訂配置,在新增配置項對話方塊中增加以下參數,單擊確定。
參數 描述 樣本 jfs.namespaces.test.oss.uri 表示test命名空間的後端儲存。 oss://<oss_bucket>/<oss_dir>/ 說明 推薦配置到OSS Bucket下的某一個具體目錄,該命名空間即會將Block模式的資料區塊存放在該目錄下。jfs.namespaces.test.mode 表示test命名空間為Block Storage模式。 block jfs.namespaces.test.oss.access.key 表示儲存後端OSS的AccessKey ID。 xxxx 說明 考慮到效能和穩定性,推薦使用同賬戶、同Region下的OSS Bucket作為儲存後端,此時,E-MapReduce叢集能夠免密訪問OSS,無需配置AccessKey ID和AccessKey Secret。jfs.namespaces.test.oss.access.secret 表示儲存後端OSS的AccessKey Secret。 - 單擊確定。
- 修改jfs.namespaces為test。
- 單擊右上方的儲存。
- 選擇右上方的 。重啟後即可通過
jfs://test/<path_of_file>
的形式訪問JindoFS上的檔案。
磁碟空間水位控制
JindoFS後端基於OSS,可以提供海量的儲存,但是本地碟的容量是有限的,因此JindoFS會自動淘汰本地較冷的資料備份。我們提供了storage.watermark.high.ratio
和storage.watermark.low.ratio
兩個參數來調節本機存放區的使用容量,值均為0~1的小數,表示使用磁碟空間的比例。
- 修改磁碟水位配置。 在服務配置地區的storage頁簽,修改如下參數。
參數 描述 storage.watermark.high.ratio 表示磁碟使用量的上水位比例,每塊資料盤的JindoFS資料目錄佔用的磁碟空間到達上水位即會觸發清理。預設值:0.4。 storage.watermark.low.ratio 表示使用量的下水位比例,觸發清理後會自動清理冷資料,將JindoFS資料目錄佔用空間清理到下水位。預設值:0.2。 說明 您可以通過設定上水位比例調節期望分給JindoFS的磁碟空間,下水位必須小於上水位,設定合理的值即可。 - 儲存配置。
- 單擊右上方的儲存。
- 在確認修改對話方塊中,輸入執行原因,開啟自動更新配置。
- 單擊確定。
- 重啟Jindo Storage Service使配置生效。
- 單擊右上方的 。
- 在執行叢集操作對話方塊中,設定相關參數。
- 單擊確定。
- 在確認對話方塊中,單擊確定。