Untuk membuat cadangan data HDFS atau memperluas kapasitas penyimpanan, Anda dapat menggunakan alat Jindo DistCp pada kluster Alibaba Cloud EMR guna melakukan migrasi data dari HDFS ke OSS-HDFS. OSS-HDFS kompatibel dengan ekosistem Hadoop, sehingga memungkinkan penggunaan berbagai alat dan kerangka kerja untuk pemrosesan data serta analisis setelah migrasi.
Prasyarat
-
Anda telah membuat kluster Alibaba Cloud EMR versi EMR-5.6.0 atau lebih baru, atau EMR-3.40.0 atau lebih baru. Untuk informasi selengkapnya, lihat Create a cluster.
-
Kluster self-managed yang dibangun di atas instans ECS Anda memiliki lingkungan Hadoop 2.7+ atau 3.x dan dapat menjalankan pekerjaan MapReduce. Sebelum melakukan migrasi data, Anda harus menerapkan JindoData, yang mencakup JindoSDK dan JindoFSx. Unduh versi terbaru.
-
Anda telah mengaktifkan layanan OSS-HDFS dan memberikan izin yang diperlukan. Untuk informasi selengkapnya, lihat Enable OSS-HDFS.
Latar Belakang
Alibaba Cloud Jindo DistCp adalah alat terdistribusi untuk menyalin file di dalam atau antar kluster berskala besar. Jindo DistCp menggunakan pekerjaan MapReduce untuk mendistribusikan penyalinan file, menangani kesalahan, dan memulihkan dari kegagalan. Alat ini menerima daftar file dan direktori sebagai input untuk tugas MapReduce, di mana setiap tugas menyalin subset file dari daftar sumber. Jindo DistCp sepenuhnya mendukung penyalinan data antara HDFS, OSS, dan OSS-HDFS, serta menyediakan berbagai parameter dan strategi untuk menyesuaikan proses penyalinan.
Jindo DistCp memberikan manfaat berikut:
-
Efisiensi tinggi: Mencapai percepatan hingga 1,59× dalam skenario pengujian.
-
Fitur lengkap: Menyediakan berbagai metode penyalinan dan strategi optimasi berbasis skenario.
-
Integrasi mendalam dengan OSS: Mendukung arsip dan kompresi file.
-
Penyalinan tanpa rename: Menjamin konsistensi data dengan menghindari rename file sementara selama proses penyalinan.
-
Kompatibilitas luas: Mendukung Hadoop 2.7+ dan Hadoop 3.x, serta dapat digunakan sebagai pengganti Hadoop DistCp.
Prosedur
-
Login ke kluster EMR.
-
Login ke Konsol EMR on ECS.
-
Klik nama kluster EMR target.
-
Klik tab Nodes, lalu klik ikon
di sebelah kiri kelompok node. -
Klik ID ECS. Di halaman instans ECS, klik Connect di samping ID instans.
Untuk terhubung menggunakan SSH, lihat Log on to a cluster.
-
-
Lakukan migrasi data dari jalur HDFS tertentu ke OSS-HDFS.
-
Jalankan perintah berikut untuk melihat data di HDFS:
hdfs dfs -ls /Contoh respons:
Found 8 items drwxrwxrwx - admin supergroup 0 2023-10-26 10:55 /.sysinfo drwxrwxrwx - hadoop supergroup 0 2023-10-26 10:55 /apps drwxrwxrwx - root supergroup 0 2022-08-03 15:54 /data -rw-r----- 1 root supergroup 13 2022-08-25 11:45 /examplefile.txt drwxrwxrwx - spark supergroup 0 2023-10-26 14:49 /spark-history drwx-wx-wx - hive supergroup 0 2023-10-26 13:35 /tmp drwxrwxrwx - hive supergroup 0 2023-10-26 14:48 /user drwxrwxrwx - hadoop supergroup 0 2023-10-26 14:48 /yarn -
Buka direktori yang berisi paket jindo-distcp-tool-${version}.jar.
cd /opt/apps/JINDOSDK/jindosdk-current/tools -
Lihat versi alat Jindo DistCp yang secara otomatis diterapkan bersama kluster.
ls -
Lakukan migrasi data dari HDFS ke OSS-HDFS.
Migrasi penuh
Untuk melakukan migrasi penuh atau menyalin data dari direktori /tmp di HDFS ke jalur tujuan oss://examplebucket/dir di OSS-HDFS, jalankan perintah berikut. Contoh ini menggunakan jindo-distcp-tool-6.1.0.jar. Ganti nomor versi JAR agar sesuai dengan lingkungan Anda.
hadoop jar jindo-distcp-tool-6.1.0.jar --src /tmp/ --dest oss://examplebucket.cn-hangzhou.oss-dls.aliyuncs.com/dir/ --hadoopConf fs.oss.accessKeyId=LTAI************************ --hadoopConf fs.oss.accessKeySecret=yourAccessKeySecret --parallelism 10Tabel berikut menjelaskan parameter dan opsi dalam perintah tersebut.
Parameter
Deskripsi
Contoh
--src
Jalur sumber data di HDFS.
/tmp/
--dest
Jalur tujuan di OSS-HDFS.
oss://destbucket.cn-hangzhou.oss-dls.aliyuncs.com/dir/
--hadoopConf
ID AccessKey dan AccessKey Secret untuk mengakses layanan OSS-HDFS.
-
AccessKey ID
LTAI************************ -
AccessKey Secret
yourAccessKeySecret
--parallelism
Tingkat paralelisme untuk pekerjaan copy. Sesuaikan nilai ini berdasarkan sumber daya kluster Anda.
10
Migrasi inkremental
Untuk hanya menyalin data yang ditambahkan ke jalur sumber sejak migrasi penuh terakhir, gunakan opsi
--updateuntuk penyalinan inkremental.Sebagai contoh, untuk melakukan migrasi atau penyalinan inkremental data dari direktori /data/ di HDFS ke jalur tujuan oss://destbucket/dir di OSS-HDFS, jalankan perintah berikut:
hadoop jar jindo-distcp-tool-6.1.0.jar --src /data/ --dest oss://destbucket.cn-hangzhou.oss-dls.aliyuncs.com/dir/ --hadoopConf fs.oss.accessKeyId=LTAI************************ --hadoopConf fs.oss.accessKeySecret=yourAccessKeySecret --update --parallelism 10 -
-
Dokumen Terkait
-
Jika Anda tidak ingin memasukkan Endpoint dan AccessKey secara manual setiap kali menjalankan perintah migrasi, Anda dapat mengonfigurasi Endpoint dan AccessKey di file konfigurasi Hadoop core-site.xml. Untuk informasi selengkapnya, lihat Connect a non-EMR cluster to the OSS-HDFS service.
-
Untuk informasi lebih lanjut mengenai kasus penggunaan lain untuk Jindo DistCp, lihat Jindo DistCp usage guide.