本期導讀 :【JindoFS 緩存加速】第十五講
主題:雲上計算雲下資料:HDFS 緩存加速
講師:撫月,阿裡巴巴計算平台事業部 開源大資料平台 技術專家
内容架構:
- 背景介紹
- 功能介紹
- 使用方法
- 實操示範
直播回放連結:(15講)
https://developer.aliyun.com/live/246996一、背景介紹
問題和挑戰:
傳統的大資料服務,通常是自己部署一套 Hive、Spark、HDFS 線上下的 IDC 機房。随着雲計算越來越成熟,帶來彈性擴容 運維友善 節省成本等諸多優點,越來越多企業開始将大資料平台搬到雲上。首先他們會将 Hive、Spark 等計算服務搬到雲上,在雲上執行計算。雲下 IDC 的 HDFS 叢集存在曆史資料;有些客戶存在敏感資料,傾向于繼續保留于雲下;或者因曆史原因保留在其他雲廠商上,而 HDFS 叢集資料搬到雲上需要時間,這時候就會涉及到跨機房/跨雲通路 HDFS 資料。
雲上通路雲下 HDFS 資料存在以下問題:
- 叢集之間存在網絡延時和帶寬限制
- 作業突發流量 核心叢集磁盤/網絡被打滿
為解決以上問題,必須引入 HDFS 緩存加速。

二、功能介紹
在計算叢集上部署一套 jindofs,jindofs 具有分布式緩存的能力:
- 利用計算叢集閑置資源(雲盤/本地盤/記憶體)進行資料緩存,加速計算
- 進行流量控制,避免計算叢集占用核心叢集過多帶寬
JindoFS 緩存模式架構圖:
架構介紹:
- Jindo Namespace Service:JindoFS 中繼資料管理以及 Storage 服務的管理
- Jindo Storage Service:使用者資料的管理包含本地資料的管理和 OSS 上資料的管理
- Jindo SDK 用戶端:所有上層計算引擎通過 JindoFS SDK 提供的用戶端通路 JindoFS 檔案系統,進而實作對後端存儲實作緩存加速
計算服務通過 Jindo SDK 通路資料,Jindo SDK 從 Jindo Namespace Service 查詢緩存位置資訊,然後向叢集中的 Jindo Storage Service 讀取緩存資料,如果命中緩存直接傳回;如果沒有命中緩存,則從 OSS 讀取資料,并将緩存寫入 Jindo Storage Service,供下次使用。
三、使用方法
部署緩存服務
- 下載下傳最新 Release包 b2smartdata-x.x.x.tar.gz,解壓并部署到叢集所有節點上
- 修改配置檔案 conf/bigboot.cfg
- 修改 sbin/nodes,配置所有 storage service 的節點清單
- 啟動所有服務 ./sbin/start-service.sh
參考網址:
https://github.com/aliyun/alibabacloud-jindofs/blob/master/docs/jindofs_cache_mode_deploy.md部署Jindo SDK
- 安裝 jar 包:下載下傳最新的 jar 包 jindofs-sdk-x.x.x.jar,在所有 Hadoop 節點安裝。
cp ./jindofs-sdk-*.jar <HADOOP_HOME>/share/hadoop/hdfs/lib/jindofs-sdk.jar
- 将 namespace 位址配置到 Hadoop 的 core-site.xml 中。
通過 JindoFS 加速通路 HDFS
我們通過jfs://<namespace>/ 路徑通路, 跟直接通路遠端HDFS路徑得到一樣的數 據,并且獲得了加速效果。
四、實操示範
相關資源:
- JindoFS SDK
- JindoFS 緩存服務 https://github.com/aliyun/alibabacloud-jindofs/blob/master/docs/jindofs_cache_mode_deploy.md
⭐點選回放連結,直接觀看第15講視訊回放,擷取講師執行個體講解:
⭐Github連結:
https://github.com/aliyun/alibabacloud-jindofs不錯過每次直播資訊、探讨更多資料湖 JindoFS+OSS 相關技術問題,歡迎掃碼加入釘釘交流群!