全部产品
Search
文档中心

Object Storage Service:Migrasikan data di beberapa bucket dalam OSS-HDFS

更新时间:Jul 02, 2025

Topik ini menjelaskan cara menggunakan Alibaba Cloud Jindo DistCp untuk memigrasikan data di beberapa bucket dalam OSS-HDFS.

Prasyarat

  • Kluster dari Alibaba Cloud EMR-5.6.0 atau versi lebih baru, atau kluster dari EMR-3.40.0 atau versi lebih baru telah dibuat. Untuk informasi lebih lanjut, lihat Buat Kluster.

  • Lingkungan Hadoop 2.7.0 atau versi lebih baru, atau Hadoop 3.x telah disiapkan di kluster Elastic Compute Service (ECS) yang dikelola sendiri. Kluster tersebut harus dapat menjalankan pekerjaan MapReduce. Anda perlu menerapkan JindoData secara mandiri sebelum menyelesaikan migrasi di kluster ECS. JindoData mencakup JindoSDK dan JindoFSx. Kami merekomendasikan Anda mengunduh versi terbaru.

  • OSS-HDFS telah diaktifkan untuk sebuah bucket dan izin telah diberikan untuk mengakses OSS-HDFS. Untuk informasi lebih lanjut, lihat Aktifkan OSS-HDFS.

Informasi latar belakang

Anda dapat menggunakan Jindo DistCp untuk menyalin file di dalam atau antar kluster berskala besar. Jindo DistCp menggunakan MapReduce untuk mendistribusikan file, menangani kesalahan, dan memulihkan data. Daftar file dan direktori digunakan sebagai input tugas MapReduce. Setiap tugas menyalin file dan direktori tertentu dalam daftar input. Jindo DistCp mendukung penyalinan data penuh antara direktori dalam HDFS, antara HDFS dan Object Storage Service (OSS), antara HDFS dan OSS-HDFS, serta antar bucket dalam OSS-HDFS. Jindo DistCp juga menyediakan berbagai parameter salinan kustom dan kebijakan salinan.

Jindo DistCp memberikan manfaat berikut:

  • Efisiensi tinggi. Kecepatan migrasi data Jindo DistCp 1,59 kali lebih cepat daripada Hadoop DistCp.

  • Fitur dasar yang kaya. Jindo DistCp menyediakan berbagai metode salinan dan kebijakan optimasi berbasis skenario.

  • Integrasi mendalam dengan OSS. Jindo DistCp memanfaatkan fitur-fitur OSS sehingga Anda dapat melakukan berbagai operasi pada data, termasuk menekan data dan mengonversi kelas penyimpanan data menjadi Arsip.

  • Penyalinan file tanpa mengubah nama file. Hal ini memastikan konsistensi data.

  • Kompatibilitas tinggi. Jindo DistCp berlaku untuk berbagai skenario dan dapat digunakan untuk menggantikan Hadoop DistCp. Jindo DistCp mendukung Hadoop 2.7.x dan Hadoop 3.x.

Langkah 1: Unduh paket JAR Jindo DistCp

GitHub

Langkah 2: Konfigurasikan pasangan AccessKey yang digunakan untuk mengakses OSS-HDFS

Anda dapat menggunakan salah satu metode berikut untuk mengonfigurasi pasangan AccessKey yang digunakan untuk mengakses OSS-HDFS:

  • Konfigurasikan pasangan AccessKey dengan menggunakan perintah contoh

    Konfigurasikan pasangan AccessKey dengan menentukan opsi --hadoopConf dalam perintah contoh yang digunakan untuk memigrasikan data dari srcbucket ke destbucket dalam OSS-HDFS.

    hadoop jar jindo-distcp-tool-${version}.jar --src oss://srcbucket.cn-hangzhou.oss-dls.aliyuncs.com/ --dest oss://destbucket.cn-hangzhou.oss-dls.aliyuncs.com/ --hadoopConf fs.oss.accessKeyId=yourkey --hadoopConf fs.oss.accessKeySecret=yoursecret --parallelism 10
  • Konfigurasikan pasangan AccessKey dengan menggunakan file konfigurasi

    Konfigurasikan pasangan AccessKey yang digunakan untuk mengakses OSS-HDFS dengan menentukan fs.oss.accessKeyId dan fs.oss.accessKeySecret dalam file core-site.xml Hadoop. Contoh perintah:

    <configuration>
        <property>
            <name>fs.oss.accessKeyId</name>
            <value>LTAI********</value>
        </property>
    
        <property>
            <name>fs.oss.accessKeySecret</name>
            <value>KZo1********</value>
        </property>
    </configuration>

Langkah 3: Konfigurasikan titik akhir OSS-HDFS

Anda harus mengonfigurasi titik akhir OSS-HDFS ketika menggunakan OSS-HDFS untuk mengakses bucket dalam OSS. Kami merekomendasikan Anda menentukan jalur akses dalam format oss://<Bucket>.<Endpoint>/<Object>. Contoh: oss://examplebucket.cn-shanghai.oss-dls.aliyuncs.com/exampleobject.txt. Setelah Anda mengonfigurasi jalur akses, JindoSDK memanggil operasi OSS-HDFS yang sesuai berdasarkan titik akhir yang ditentukan dalam jalur akses.

Anda juga dapat mengonfigurasi titik akhir OSS-HDFS dengan menggunakan metode lainnya. Titik akhir yang dikonfigurasi dengan menggunakan metode berbeda memiliki prioritas berbeda. Untuk informasi lebih lanjut, lihat Lampiran 1: Metode Lain yang Digunakan untuk Mengonfigurasi Titik Akhir OSS-HDFS.

Langkah 4: Migrasikan data penuh di beberapa bucket dalam OSS-HDFS

Dalam contoh ini, Jindo DistCp 4.4.0 digunakan. Ganti nomor versi dengan nomor versi aktual Anda.

Gunakan pasangan AccessKey yang sama untuk memigrasikan data dari Bucket A ke Bucket B di wilayah yang sama

  • Sintaksis Perintah

    hadoop jar jindo-distcp-tool-${version}.jar --src oss://bucketname.region.oss-dls.aliyuncs.com/ --dest oss://bucketname.region.oss-dls.aliyuncs.com/ --hadoopConf fs.oss.accessKeyId=yourkey --hadoopConf fs.oss.accessKeySecret=yoursecret --parallelism 10

    Tabel berikut menjelaskan parameter dan opsi dalam perintah sebelumnya.

    Parameter/Opsi

    Deskripsi

    Contoh

    --src

    Jalur lengkap bucket sumber dalam OSS-HDFS dari mana data dimigrasikan atau disalin.

    oss://srcbucket.cn-hangzhou.oss-dls.aliyuncs.com/

    --dest

    Jalur lengkap bucket tujuan dalam OSS-HDFS ke mana data yang dimigrasikan atau disalin disimpan.

    oss://destbucket.cn-hangzhou.oss-dls.aliyuncs.com/

    --hadoopConf

    Pasangan AccessKey yang digunakan untuk mengakses OSS-HDFS. Pasangan AccessKey terdiri dari ID AccessKey dan rahasia AccessKey.

    • ID AccessKey

      LTAI********
    • Rahasia AccessKey

      KZo1********

    --parallelism

    Jumlah tugas migrasi data atau tugas salinan data yang dapat dijalankan secara paralel berdasarkan jumlah sumber daya dalam kluster Anda.

    10

  • Contoh

    Jalankan perintah berikut untuk memigrasikan data dari srcbucket di wilayah China (Hangzhou) ke destbucket dengan menggunakan pasangan AccessKey yang sama:

    hadoop jar jindo-distcp-tool-4.4.0.jar --src oss://srcbucket.cn-hangzhou.oss-dls.aliyuncs.com/ --dest oss://destbucket.cn-hangzhou.oss-dls.aliyuncs.com/ --hadoopConf fs.oss.accessKeyId=LTAI******** --hadoopConf fs.oss.accessKeySecret=KZo1******** --parallelism 10

(Opsional) Migrasikan data tambahan di beberapa bucket dalam OSS-HDFS

Jika Anda ingin memigrasikan atau menyalin hanya data tambahan dari jalur sumber setelah migrasi atau salinan data penuh, Anda dapat menggunakan opsi --update.

Sebagai contoh, Anda dapat menjalankan perintah berikut untuk memigrasikan data tambahan dari srcbucket di wilayah China (Hangzhou) ke destbucket dengan menggunakan pasangan AccessKey yang sama:

hadoop jar jindo-distcp-tool-4.4.0.jar --src oss://srcbucket.cn-hangzhou.oss-dls.aliyuncs.com/ --dest oss://destbucket.cn-hangzhou.oss-dls.aliyuncs.com/ --hadoopConf fs.oss.accessKeyId=LTAI******** --hadoopConf fs.oss.accessKeySecret=KZo1******** --update --parallelism 10

Referensi

Untuk informasi lebih lanjut tentang skenario lain dari Jindo DistCp, lihat Gunakan Jindo DistCp.