本期導讀 :【JindoFS 緩存加速】第十二講
主題:Spark 訪問 OSS 透明緩存加速
講師:辰山,阿里巴巴計算平臺事業部 EMR 技術專家
內容框架:
- JIndoFS 緩存模式簡介
- Spark 訪問 OSS 的緩存加速
- 緩存效果
- 實操演示
直播回放鏈接:(12講)
https://developer.aliyun.com/live/246923
一、JindoFS 緩存模式簡介
JindoFS緩存模式架構圖:
架構介紹:
- Jindo Namespace Service:JindoFS 元數據管理以及 Storage 服務的管理
- Jindo Storage Service:用戶數據的管理包含本地數據的管理和OSS上數據的管理
- Jindo SDK 客戶端:所有上層計算引擎通過JindoFS SDK提供的客戶端訪問JindoFS文件系統,從而實現對後端存儲實現緩存加速
二、Spark 訪問 OSS 的緩存加速
部署緩存服務
- 下載最新 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,將sdk包安裝到Spark的classpath下。
cpjindofs-sdk-${version}.jar $SPARK_HOME/jars/
- 配置 JindoFS 實現類:將JindoFS 實現類配置到Hadoop的core-site.xml中
配置OSS Access Key
- 將OSS的Access Key、Access Key Secret、Endpoint等預先配置在Hadoop的core-site.xml中。
配置客戶端連接緩存服務
客戶端通過環境變量 B2SDK_CONF_DIR 定位並加載配置文件 bigboot.cfg
- 設置環境變量指定配置目錄
export B2SDK_CONF_DIR= /path/to/sdk/conf
- 在配置目錄下添加bigboot.cfg配置文件
•client.storage.rpc.port = 6101
•client.namespace.rpc.address = <NAMESPACE_ADDRESS>:8101
•jfs.cache.data-cache.enable = true
•完成以上配置之後,啟動的 Spark 任務即可訪問OSS
任務讀取OSS上的數據後,會自動緩存到JindoFS緩存系統中,後續訪問相同的數據就能夠命中緩存
三、緩存效果
緩存性能對比:
基於TPC-DS對緩存模式進行性能測評;
選擇8個具有IO相對較高的SQL查詢進行測試,
結果如下:
圖解:
藍色為啟用緩存執行時間;橙色為關閉緩存,用純粹SDK方式訪問OSS所用時間
可見執行時間得到近50%的提升,性能提升效果明顯
詳見:《JindoFS 緩存系統(Cache 模式)性能比較》
參考網址:
https://github.com/aliyun/alibabacloud-jindofs/blob/master/docs/comparisons/jindofs_cache_vs_no_cache.md
四、實操演示
⭐點擊回放鏈接,直接觀看第12講視頻回放,獲取講師實例講解:
https://developer.aliyun.com/live/246923
⭐Github鏈接:
https://github.com/aliyun/alibabacloud-jindofs
不錯過每次直播信息、探討更多數據湖 JindoFS+OSS 相關技術問題,歡迎掃碼加入釘釘交流群!