All Products
Search
Document Center

Data Online Migration:Terapkan ossimport dalam mode terdistribusi

Last Updated:Jul 06, 2025

Topik ini menjelaskan cara menerapkan ossimport dalam mode terdistribusi. Anda hanya dapat menerapkan ossimport dalam mode terdistribusi di Linux.

Prasyarat

  • Sebuah kluster yang terdiri dari setidaknya dua mesin telah diterapkan. Satu mesin digunakan sebagai master dan yang lainnya sebagai pekerja.

  • Koneksi melalui SSH telah dibuat antara master dan pekerja.

  • Semua pekerja menggunakan nama pengguna dan kata sandi yang sama.

    Catatan

    Pastikan koneksi melalui SSH telah dibuat antara master dan pekerja, atau konfigurasikan kredensial login pekerja dalam file sys.properties.

Unduh dan instal ossimport

  1. Unduh paket instalasi ossimport.

    Unduh ossimport-2.3.7.tar.gz ke mesin Anda.

  2. Instal ossimport.

    Catatan

    Semua operasi selanjutnya dilakukan pada master.

    1. Masuk ke master dan jalankan perintah berikut untuk membuat direktori ossimport:

      mkdir -p $HOME/ossimport
    2. Pergi ke direktori paket dan jalankan perintah berikut untuk mengekstrak paket ke direktori yang ditentukan:

      tar -zxvf ossimport-2.3.7.tar.gz -C $HOME/ossimport

      Berikut adalah struktur direktori setelah Anda mengekstrak paket:

      ossimport
      ├── bin
      │ ├── console.jar     # Paket JAR untuk modul Console.
      │ ├── master.jar      # Paket JAR untuk modul Master.
      │ ├── tracker.jar     # Paket JAR untuk modul Tracker.
      │ └── worker.jar      # Paket JAR untuk modul Worker.
      ├── conf
      │ ├── job.cfg         # Template file konfigurasi pekerjaan.
      │ ├── sys.properties  # File konfigurasi yang berisi parameter sistem.
      │ └── worker.jar      # File konfigurasi pekerja.
      ├── console.sh          # Alat baris perintah. Hanya mendukung Linux.
      ├── logs                # Direktori yang menyimpan log.
      └── README.md           # File yang memberikan deskripsi tentang ossimport. Kami sarankan Anda membaca file ini sebelum menggunakan ossimport.
      • OSS_IMPORT_HOME: Direktori root ossimport. Secara default, direktori root adalah $HOME/ossimport dalam perintah ekstraksi. Anda dapat menentukan direktori root dengan menggunakan perintah export OSS_IMPORT_HOME=<dir> atau dengan memodifikasi item konfigurasi $HOME/.bashrc dalam file konfigurasi sistem. Kami sarankan Anda menggunakan direktori root default.

      • OSS_IMPORT_WORK_DIR: Direktori kerja ossimport. Anda dapat menentukan direktori kerja dengan mengonfigurasi parameter workingDir dalam file conf/sys.properties. Kami sarankan Anda menggunakan $HOME/ossimport/workdir sebagai direktori kerja.

      • Tentukan jalur absolut untuk OSS_IMPORT_HOME atau OSS_IMPORT_WORK_DIR, seperti /home/<user>/ossimport atau /home/<user>/ossimport/workdir.

Modifikasi file konfigurasi

Sebelum menggunakan ossimport yang diterapkan dalam mode terdistribusi, modifikasi file konfigurasi berikut sesuai dengan kebutuhan bisnis Anda: conf/sys.properties, conf/job.cfg, dan conf/workers.

  • conf/job.cfg: Template file konfigurasi yang digunakan untuk mengonfigurasi pekerjaan dalam mode terdistribusi. Modifikasi parameter berdasarkan kebutuhan bisnis Anda.

  • conf/sys.properties: File konfigurasi yang berisi parameter sistem, seperti direktori kerja dan parameter terkait pekerja.

  • conf/workers: File konfigurasi pekerja.

Penting
  • Sebelum mengirimkan pekerjaan migrasi, periksa parameter dalam file sys.properties dan job.cfg. Parameter pekerjaan migrasi tidak dapat dimodifikasi setelah pekerjaan dikirimkan.

  • Konfigurasikan dan periksa file workers sebelum memulai layanan. Anda tidak dapat menambahkan atau menghapus pekerja setelah layanan dimulai.

Jalankan dan kelola pekerjaan migrasi

  • Jalankan Pekerjaan Migrasi

    Jika Anda menggunakan ossimport yang diterapkan dalam mode terdistribusi untuk menjalankan pekerjaan migrasi, Anda perlu melakukan langkah-langkah berikut:

    • Terapkan layanan. Jalankan perintah bash console.sh deploy di Linux. Perintah ini menerapkan ossimport ke semua mesin yang ditentukan dalam file konfigurasi conf/workers.

      Catatan

      Pastikan file konfigurasi conf/job.cfg dan conf/workers telah dikonfigurasi dengan benar sebelum menerapkan layanan.

    • Hapus pekerjaan yang ada dengan nama yang sama. Jika Anda ingin menjalankan pekerjaan migrasi dengan nama yang sama dengan pekerjaan yang ada, hapus pekerjaan yang ada terlebih dahulu. Jika Anda ingin menjalankan pekerjaan migrasi baru atau mencoba ulang tugas gagal dari pekerjaan migrasi, jangan jalankan perintah clear. Untuk menghapus pekerjaan yang ada, jalankan perintah di Linux.

    • Kirimkan pekerjaan migrasi. Pastikan nama pekerjaan migrasi Anda unik. File konfigurasi diperlukan untuk mengirimkan pekerjaan migrasi. Anda dapat membuat file konfigurasi pekerjaan berdasarkan file template conf/job.cfg. Untuk mengirimkan pekerjaan migrasi, jalankan perintah bash console.sh submit [job_cfg_file] di Linux. Dalam perintah tersebut, parameter job_cfg_file bersifat opsional dan secara default diatur ke $OSS_IMPORT_HOME/conf/job.cfg, di mana $OSS_IMPORT_HOME menentukan direktori yang berisi file console.sh.

    • Mulai layanan. Jalankan perintah bash console.sh start di Linux.

    • Lihat status pekerjaan. Jalankan perintah bash console.sh stat di Linux.

    • Coba ulang tugas yang gagal. Tugas dapat gagal karena alasan seperti masalah jaringan. Saat menjalankan perintah coba ulang, hanya tugas yang gagal yang akan diulang. Untuk mencoba ulang tugas gagal, jalankan perintah bash console.sh retry [job_name] di Linux. Pada perintah tersebut, parameter job_name bersifat opsional dan digunakan untuk menentukan pekerjaan dengan tugas gagal yang ingin dicoba ulang. Jika parameter ini tidak ditentukan, tugas gagal dari semua pekerjaan akan diulang.

    • Hentikan layanan. Jalankan perintah bash console.sh stop di Linux.

    Catatan:

    • Jika parameter yang ditentukan tidak valid saat Anda menjalankan perintah bash console.sh, format perintah yang valid akan ditampilkan.

    • Kami sarankan Anda menentukan jalur absolut dalam file konfigurasi dan pekerjaan migrasi yang dikirimkan.

    • File job.cfg berisi item konfigurasi pekerjaan.

      Penting

      Anda tidak dapat memodifikasi item konfigurasi pekerjaan migrasi dalam file setelah pekerjaan dikirimkan.

  • Penyebab Umum Kegagalan Pekerjaan

    • Jika data sumber dimodifikasi selama migrasi, kesalahan SIZE_NOT_MATCH dicatat dalam file log/audit.log. Kesalahan ini menunjukkan bahwa data asli telah diunggah, tetapi modifikasi tidak diunggah ke Object Storage Service (OSS).

    • Jika data sumber dihapus selama migrasi, pekerjaan migrasi gagal.

    • Jika file sumber tidak sesuai dengan aturan penamaan objek OSS, migrasi ke OSS gagal. Nama objek di OSS tidak boleh dimulai dengan garis miring (/) dan tidak boleh kosong.

    • File sumber gagal diunduh.

    • Jika ossimport keluar secara tak terduga saat Anda menjalankan pekerjaan migrasi, status pekerjaan adalah Abort. Dalam hal ini, hubungi dukungan teknis.

  • Lihat Status Pekerjaan dan Log

    Setelah pekerjaan migrasi dikirimkan, master membagi pekerjaan menjadi tugas, pekerja menjalankan tugas, dan pelacak mengumpulkan status tugas. Berikut adalah struktur direktori workdir setelah pekerjaan selesai:

    workdir
    ├── bin
    │ ├── console.jar     # Paket JAR untuk modul Console.
    │ ├── master.jar      # Paket JAR untuk modul Master.
    │ ├── tracker.jar     # Paket JAR untuk modul Tracker.
    │ └── worker.jar      # Paket JAR untuk modul Worker.
    ├── conf
    │ ├── job.cfg         # Template file konfigurasi pekerjaan.
    │ ├── sys.properties  # File konfigurasi yang berisi parameter sistem.
    │ └── worker.jar      # File konfigurasi pekerja.
    ├── logs
    │ ├── import.log      # Log migrasi.
    │ ├── master.log      # Log modul Master.
    │ ├── tracker.log     # Log modul Tracker.
    │ └── worker.log      # Log modul Worker.
    ├── master
    │ ├── jobqueue                 # Pekerjaan yang belum dibagi.
    │ └── jobs                     # Informasi tentang pekerjaan.
    │ └── xxtooss              # Nama pekerjaan.
    │ ├── checkpoints      # Titik pemeriksaan yang dihasilkan saat master membagi pekerjaan menjadi tugas.
    │           │   └── 0
    │           │       └── ED09636A6EA24A292460866AFDD7A89A.cpt
    │           │── dispatched       # Tugas yang dikirimkan ke pekerja tetapi belum selesai.
    │           │   └── 192.168.1.6
    │           │── failed_tasks     # Tugas gagal.
    │           │   └── A41506C07BF1DF2A3EDB4CE31756B93F_1499348973217@192.168.1.6
    │           │       ├── audit.log     # Log tugas. Anda dapat melihat log untuk mengidentifikasi penyebab kesalahan.
    │           │       ├── DONE          # File penanda yang menunjukkan penyelesaian tugas. Jika tugas gagal, kontennya kosong.
    │           │       ├── error.list    # Kesalahan tugas. Anda dapat melihat kesalahan dalam file.
    │           │       ├── STATUS        # File penanda yang menunjukkan status tugas. Konten file ini adalah Gagal atau Selesai.
    │           │       └── TASK          # Deskripsi tugas.
    │           ├── pending_tasks    # Tugas yang belum dikirimkan.
    │           └── succeed_tasks    # Tugas yang berhasil dijalankan.
    │               └── A41506C07BF1DF2A3EDB4CE31756B93F_1499668462358@192.168.1.6
    │                   ├── audit.log     # Log tugas. Anda dapat melihat log untuk mengidentifikasi penyebab kesalahan.
    │                   ├── DONE         # File penanda yang menunjukkan penyelesaian tugas.
    │                   ├── error.list   # Kesalahan tugas. Jika tugas berhasil, kontennya kosong.
    │                   ├── STATUS        # File penanda yang menunjukkan status tugas. Konten file ini adalah Gagal atau Selesai.
    │                   └── TASK          # Deskripsi tugas.
    └── worker  # Tugas yang sedang dijalankan oleh pekerja. Setelah tugas dijalankan, mereka dikelola oleh master.
        └── jobs
            ├── local_test2
            │   └── tasks
            └── local_test_4
                └── tasks
    Penting
    • Untuk melihat informasi tentang pekerjaan, periksa file logs/import.log.

    • Untuk memecahkan masalah tugas gagal, periksa file master/jobs/${JobName}/failed_tasks/${TaskName}/audit.log.

    • Untuk melihat kesalahan tugas gagal, periksa file master/jobs/${JobName}/failed_tasks/${TaskName}/error.list.

    • Log sebelumnya hanya untuk referensi. Jangan menerapkan layanan dan aplikasi Anda berdasarkan log ini.

Verifikasi hasil migrasi

ossimport tidak memverifikasi data setelah migrasi dan oleh karena itu tidak menjamin konsistensi atau integritas data. Setelah pekerjaan migrasi selesai, pastikan untuk memverifikasi konsistensi data antara sumber dan tujuan migrasi.

Jika Anda menghapus data sumber tanpa memverifikasi konsistensi data antara sumber dan tujuan migrasi, Anda bertanggung jawab atas segala kerugian dan konsekuensi yang timbul.

Kesalahan umum dan pemecahan masalah

Untuk informasi lebih lanjut tentang kesalahan umum dan pemecahan masalah, lihat FAQ.