Saat menghentikan kluster JindoFS semi-managed, Anda perlu memindahkan metadata dan file datanya ke lapisan penyimpanan baru tanpa kehilangan tulisan inkremental yang terjadi selama transisi. Gunakan jindo distjob untuk menjalankan migrasi dua tahap: migrasi data penuh diikuti oleh sinkronisasi inkremental opsional guna menjaga OSS-HDFS tetap mutakhir selama kluster sumber masih dalam layanan.
Prasyarat
Sebelum memulai, pastikan Anda telah:
Mengaktifkan OSS-HDFS pada bucket yang menyimpan data kluster JindoFS semi-managed
Mengaktifkan audit logging pada kluster JindoFS semi-managed
Menginstal dan mengonfigurasi JindoSDK. Untuk petunjuk instalasi, lihat JindoSDK download
Langkah 1: Migrasi data penuh
Migrasi data penuh menyalin metadata direktori dari kluster JindoFS semi-managed ke OSS-HDFS. Setiap eksekusi memindahkan satu direktori sumber ke satu direktori tujuan, dan tujuan tersebut harus berupa subdirektori tingkat pertama di OSS-HDFS.
Jalankan perintah berikut:
jindo distjob -migrateImport -srcPath <srcPath> -destPath <destPath> -backendLoc <backendLoc>Parameter
| Parameter | Deskripsi | Catatan |
|---|---|---|
-srcPath | Direktori sumber di kluster JindoFS semi-hosted | Gunakan skema jfs://, contohnya jfs://mycluster/foo |
-destPath | Direktori tujuan di OSS-HDFS | Harus berupa subdirektori tingkat pertama; gunakan skema oss://, contohnya oss://examplebucket/bar/ |
-backendLoc | Path OSS yang menyimpan data mentah kluster JindoFS semi-hosted | Ini adalah backend data untuk kluster JindoFS, bukan tujuan migrasi |
Contoh
Migrasikan direktori jfs://mycluster/foo ke subdirektori bar di examplebucket:
jindo distjob -migrateImport -srcPath jfs://mycluster/foo -destPath oss://examplebucket/bar/Langkah 2: Migrasi data inkremental (opsional)
Jika kluster JindoFS sumber terus menerima tulisan setelah migrasi penuh selesai, jalankan migrasi inkremental untuk menyinkronkan perubahan tersebut ke OSS-HDFS. Migrasi inkremental mengonversi log audit menjadi log perubahan, lalu menerapkan perubahan tersebut ke tujuan.
2.1 Konversi log audit menjadi log perubahan
Jalankan perintah berikut untuk mengonversi log audit kluster menjadi log perubahan yang dapat diproses oleh jindo distjob:
jindo distjob -mkchangelog -auditLogDir <auditLogDir> -changeLogDir <changeLogDir> -startTime <startTime>Parameter
| Parameter | Deskripsi | Catatan |
|---|---|---|
-auditLogDir | Path yang menyimpan log audit kluster JindoFS semi-managed | |
-changeLogDir | Path tempat log perubahan yang dihasilkan disimpan | Pilih path yang dapat diakses baik oleh kluster sumber maupun OSS-HDFS |
-startTime | Waktu mulai untuk mengonversi log audit | Format ISO 8601: YYYY-MM-DDTHH:MM:SSZ. Hanya log audit sejak waktu ini yang dikonversi |
Contoh
Konversi log audit yang disimpan di oss://examplebucket/sysinfo/auditlog, mulai dari 1 Juni 2022, dan tulis log perubahannya ke oss://examplebucket/sysinfo/changelog:
jindo distjob -mkchangelog \
-auditLogDir oss://examplebucket/sysinfo/auditlog \
-changeLogDir oss://examplebucket/sysinfo/changelog \
-startTime 2022-06-01T12:00:00Z2.2 Terapkan perubahan inkremental
Setelah menghasilkan log perubahan, terapkan perubahan inkremental tersebut ke OSS-HDFS:
jindo distjob -migrateImport -srcPath <srcPath> -destPath <destPath> -changeLogDir <changeLogDir> -backendLoc <backendLoc> -updateParameter
| Parameter | Deskripsi | Catatan |
|---|---|---|
-srcPath | Direktori sumber di kluster JindoFS semi-hosted | |
-destPath | Direktori tujuan di OSS-HDFS | |
-changeLogDir | Path yang menyimpan log perubahan yang dihasilkan | Harus sesuai dengan path -changeLogDir yang digunakan pada Langkah 2.1 |
-backendLoc | Path OSS yang menyimpan data mentah kluster JindoFS semi-hosted | |
-update | Mengaktifkan mode migrasi inkremental | Hanya menyalin file yang baru atau dimodifikasi sejak eksekusi terakhir; file yang tidak berubah dilewati |
Contoh
Terapkan perubahan inkremental dari jfs://mycluster/foo ke oss://examplebucket/bar/, menggunakan log perubahan di oss://logbucket/logdir/:
jindo distjob -migrateImport \
-srcPath jfs://mycluster/foo \
-destPath oss://examplebucket/bar/ \
-changeLogDir oss://logbucket/logdir/ \
-backendLoc oss://examplebucket/jfsdataDir \
-update2.3 Jalankan beberapa migrasi inkremental (opsional)
Untuk menyinkronkan rangkaian perubahan dalam periode waktu tertentu, ulangi Langkah 2.1 dan 2.2 dengan nilai -startTime yang disesuaikan guna mencakup rentang waktu berturut-turut.