開發者學堂課程【資料湖 JindoFS + OSS 實操幹貨36講:Hadoop/Spark 通路 OSS 加速】學習筆記,與課程緊密聯系,讓使用者快速學習知識。
課程位址:
https://developer.aliyun.com/learning/course/833/detail/13966Hadoop/Spark 通路 OSS 加速
内容介紹
一、JindoFS SDK 介紹
二、 Hadoop 使用 JindoFS SDK
三、Spark 使用 JindoFS SDK
四、示範
• JindoFS SDK 是一個簡單易用面向 Hadoop/Spark 生态的 OSS 用戶端,為阿裡雲 OSS 提供高度優化的 HadoopFileSystem 實作。
• 通過 JindoFS SDK,可以在 Hadoop 環境中直接使用 oss://bucket/ 的方式通路阿裡雲 OSS 上的内容。
例如:
hadoop dfs -ls oss: / / bucket/dir
為什麼使用 JindoFS SDK
• 優異的性能表現:和開源版本的 Hadoop-OSS-SDK 進行對比,各項操作性能均顯著好于 Hadoop-OSS-SDK
• 良好的相容性:相容市面上大部分 Hadoop 版本,JindoFS SDK 在 Hadoop2.3 及以上的版本上驗證通過
• 專業團隊維護:阿裡雲 EMRHadoop 團隊維護,JindoFS Hadoop SDK 在阿裡雲 EMR等産品中廣泛使用
• 功能更新快:及時跟進 OSS 最新特性和優化,版本更新及時。
Hadoop 使用 JindoFS SDK 通路 OSS
安裝 jar 包
• 下載下傳最新的jar包 jindofs-sdk-x.x.x.jar,将sdk包安裝到hadoop的classpath下。
配置 JindoFSOSS 實作類
• 将 JindoFS OSS 實作類配置到Hadoop的core-site.xml中。
fs.AbstractFileSystem.oss.implcom.aliyun.emr.fs.oss.osS
fs.oss.impl
com.aliyun.emr.fs.oss.Jindo0ssFileSystem
配置 OSSAccess Key
• 将OSS的AccessKey、Access Key Secret、Endpoint等預先配置在Hadoop的core-site.xml中。
jindo. common.accessKeyIdxxx
jindo.common.accessKeySecretxxx
jindo.common.oss.endpointoss-cn-xxx.aliyuncs.com
二、使用 JindoFSSDK 通路 OSS
用HadoopShell通路OSS,下面列舉了幾個常用的指令。
• put操作:hadoop fs -put oss:///
• ls 操作:hadoop fs -ls oss:///
• mkdir操作:hadoopfs -mkdiross:///
• rm操作: hadoop fs rm oss:///
Spark 使用 JindoFS SDK 通路 OSS
在 Spark CLASSPATH 中添加 JindoFS SDK
• 下載下傳最新的jar包 jindofs-sdk-x.x.x.jar,将sdk包安裝到 Spark的classpath下。
• cp jindofs-sdk-${version}.jar $SPARK_HOME/jars/
三、配置 JindoFS SDK
全局配置:參考 Hadoop 配置
任務級别配置:spark-submit--conf
spark.hadoop.fs.AbstractFileSystem.oss.impl=com.aliyun.emr.fs.oss.OSS --conf
spark.hadoop.fs.oss.impl=com.aliyun.emr.fs.oss.JindoOssFileSystem --conf spark.hadoop.fs.jfs.cache.oss.accessKeyId=xxx --conf spark.hadoop.fs.jfs.cache.oss.accessKeySecret=xxx --conf spark.hadoop.fs.jfs.cache.oss.endpoint=oss-cn-xxx.aliyuncs.com
通路 OSS
• 完成配置之後,啟動的 Spark 任務通路 OSS 預設就使用 JindoSDK 通路
• \1. 下載下傳 JindoFS SDK
• \2. 将jar包拷貝到 hadoop classpath
• \3. 修改配置
• \4. 示範 hadoop 指令
• \5. 将 jar 包拷貝到 Spark${SPARK_HOME}/jars
• \6. 示範 Spark 通路 OSS