本文由簡體中文內容自動轉碼而成。阿里雲不保證此自動轉碼的準確性、完整性及時效性。本文内容請以簡體中文版本為準。

使用JindoDistCp工具遷移第三方雲Object Storage Service資料到OSS/OSS-HDFS

更新時間:2024-06-30 19:21

本文介紹如何通過JindoDistCp工具,將第三方雲Object Storage Service中的資料移轉到OSS/OSS-HDFS。

前提條件

  • 準備遷移環境並下載JindoDistCp工具,參見JindoDistCp使用說明

  • 已在Hadoop的core-site.xml檔案裡,配置AccessKey ID和AccessKey Secret。新增配置項詳情,請參見管理配置項

    JindoDistCp可以將AccessKey ID和AccessKey Secret預先寫在Hadoop的core-site.xml檔案裡 ,避免使用時多次填寫的問題。例如,指定OSS、OSS-HDFS、Amazon S3、COS或OBS的AccessKey ID和AccessKey Secret。以OSS為例,配置樣本如下。

    <configuration>
        <property>
            <name>fs.oss.accessKeyId</name>
            <value>xxx</value>
        </property>
    
        <property>
            <name>fs.oss.accessKeySecret</name>
            <value>xxx</value>
        </property>
    </configuration>

拷貝資料到阿里雲OSS/OSS-HDFS上

您可以使用如下命令將第三方雲Object Storage Service上的目錄拷貝到OSS/OSS-HDFS上。

hadoop jar jindo-distcp-tool-${version}.jar --src s3://example-s3-bucket/data --dest oss://destBucket.cn-xxx.oss-dls.aliyuncs.com/dir/ --parallelism 10

參數

描述

樣本

參數

描述

樣本

--src

第三方雲Object Storage Service路徑。

s3://example-s3-bucket/data/

--dest

OSS/OSS-HDFS的目標路徑。

oss://destBucket.cn-xxx.oss-dls.aliyuncs.com/

--parallelism

任務並發大小,根據叢集資源可調整。

10

拷貝增量檔案

情境說明:

  • Distcp任務在執行期間失敗,您想進行斷點續傳,只拷貝剩下未拷貝成功的檔案。

  • 源端檔案新增了部分檔案,只拷貝新增的檔案。

在上一次Distcp任務完成後,使用--update參數,將src中新增或發生改變的檔案和目錄同步到dest上。

hadoop jar jindo-distcp-tool-${version}.jar --src s3://example-s3-bucket/data --dest oss://destBucket.cn-xxx.oss-dls.aliyuncs.com/dir/ --update --parallelism 20

設定YARN隊列和頻寬大小

如果您需要設定DistCp作業使用的YARN隊列和頻寬大小,可使用如下命令:

hadoop jar jindo-distcp-tool-${version}.jar --src s3://example-s3-bucket/data  --dest oss://destBucket.cn-xxx.oss-dls.aliyuncs.com/dir/ --hadoopConf mapreduce.job.queuename=yarnQueue --bandWidth 100 --parallelism 10

參數

描述

參數

描述

--hadoopConf mapreduce.job.queuename=yarnQueue

指定YARN隊列的名稱。

--bandWidth

指定單機限流頻寬的大小,單位:MB。

配置OSS-HDFS Endpoint

訪問OSS-HDFS需要配置Endpoint(cn-xxx.oss-dls.aliyuncs.com),與OSS對象介面的Endpoint(oss-cn-xxx-internal.aliyuncs.com)不同。JindoSDK會根據配置的Endpoint訪問OSS-HDFS或OSS對象介面。

使用OSS-HDFS時,推薦訪問路徑格式為:oss://<Bucket>.<Endpoint>/<Object>。例如oss://mydlsbucket.cn-shanghai.oss-dls.aliyuncs.com/Test

這種方式在訪問路徑中包含OSS-HDFS的Endpoint,JindoSDK會根據路徑中的Endpoint訪問對應的OSS-HDFS介面。JindoSDK還支援更多的Endpoint配置方式,詳情請參見阿里雲OSS-HDFS服務(JindoFS服務)Endpoint配

重要

JindoSDK 4.4.0及以上版本預設使用網域名稱分離的方式,資料讀寫網域名稱預設使用內網標準OSS網域名稱。如果在非阿里雲內網環境執行distcp命令,則需要在Hadoop的core-site.xml檔案中配置資料流訪問的公網OSS Endpoint。配置樣本如下。

<configuration>
    <property>
        <name>fs.oss.data.endpoint</name>
        <value>oss-cn-xxx.aliyuncs.com</value>
    </property>
</configuration>

相關文檔

  • 本頁導讀 (1, M)
  • 前提條件
  • 拷貝資料到阿里雲OSS/OSS-HDFS上
  • 拷貝增量檔案
  • 設定YARN隊列和頻寬大小
  • 配置OSS-HDFS Endpoint
  • 相關文檔
文檔反饋
phone 聯絡我們

立即和Alibaba Cloud在線服務人員進行交談,獲取您想了解的產品信息以及最新折扣。

alicare alicarealicarealicare