Jika Anda berencana mengganti versi kluster ApsaraDB for ClickHouse Edisi Kompatibel Komunitas, Anda dapat menggunakan fitur migrasi instans di konsol ApsaraDB for ClickHouse untuk memigrasikan data. Fitur ini mendukung migrasi data penuh dan inkremental guna memastikan integritas data.
Prasyarat
Kedua cluster sumber dan tujuan harus memenuhi persyaratan berikut:
Kedua kluster harus merupakan kluster Edisi Kompatibel Komunitas.
CatatanUntuk memigrasikan kluster Edisi Kompatibel Komunitas ke kluster Edisi Perusahaan, atau sebaliknya, lihat Migrasi kluster ClickHouse Edisi Kompatibel Komunitas ke kluster Edisi Perusahaan.
Status semuanya adalah Running.
Masing-masing memiliki akun database dan kata sandi.
Status penyimpanan bertingkat untuk data panas dan dingin sama pada kedua kluster.
Kedua kluster harus berada di Wilayah yang sama dan menggunakan VPC yang sama. Alamat IP masing-masing kluster harus ditambahkan ke daftar putih kluster lainnya. Jika kondisi ini tidak terpenuhi, Anda harus menyelesaikan masalah jaringan terlebih dahulu. Untuk informasi selengkapnya, lihat Cara menyelesaikan masalah konektivitas jaringan antara kluster tujuan dan sumber data.
CatatanAnda dapat menjalankan perintah
SELECT * FROM system.clusters;untuk melihat alamat IP instans ApsaraDB for ClickHouse. Untuk informasi lebih lanjut tentang konfigurasi daftar putih, lihat Atur daftar putih.
Kluster tujuan juga harus memenuhi persyaratan berikut:
Versinya lebih baru dari atau sama dengan versi kluster sumber. Untuk versi terbaru, lihat Edisi Kompatibel Komunitas.
Ruang penyimpanan disk yang tersedia (tidak termasuk penyimpanan dingin) minimal 1,2 × ruang penyimpanan disk yang digunakan (tidak termasuk penyimpanan dingin) pada kluster sumber.
Setiap tabel lokal di kluster sumber harus memiliki satu tabel terdistribusi yang unik.
Catatan Penggunaan
Kecepatan migrasi: Kecepatan migrasi untuk satu node di kluster tujuan biasanya lebih besar dari 20 MB/detik. Jika kecepatan penulisan untuk satu node di kluster sumber juga melebihi 20 MB/detik, Anda harus memverifikasi bahwa kecepatan migrasi kluster tujuan dapat mengimbangi kecepatan penulisan kluster sumber. Jika tidak, migrasi mungkin tidak pernah selesai.
Selama migrasi, kluster tujuan menjeda operasi merge, tetapi kluster sumber tidak.
Anda dapat memigrasikan kluster, database, tabel, kamus data, tampilan yang di-materialisasi, izin pengguna, dan konfigurasi kluster.
Hanya kamus data yang dibuat menggunakan SQL yang dapat dimigrasikan. Kamus data yang dibuat menggunakan XML tidak didukung.
Untuk memeriksa, jalankan perintah berikut:
SELECT * FROM system.dictionaries WHERE (database = '') OR isNull(database);. Jika perintah mengembalikan hasil, ini menunjukkan bahwa kamus data yang dibuat menggunakan XML ada.Jika kamus data mengakses layanan eksternal, pastikan layanan tersebut tersedia dan daftar putihnya mengizinkan akses dari kluster. Jika kamus data menggunakan tabel internal dari instans ClickHouse saat ini sebagai sumber datanya dan parameter
HOSTdiatur ke alamat IP, akses mungkin gagal setelah migrasi karena alamat IP berubah. Dalam kasus ini, Anda harus mengonfirmasi alamat IPHOSTbaru untuk instans ClickHouse dan membuat ulang kamus data secara manual.
Tabel mesin Kafka dan RabbitMQ tidak dapat dimigrasikan.
Volume data:
Data dingin: Data dingin bermigrasi secara lambat. Kami menyarankan agar Anda mengosongkan data dingin di kluster sumber untuk memastikan ukuran totalnya tidak melebihi 1 TB. Jika tidak, migrasi mungkin gagal karena durasi yang terlalu lama.
Data panas: Jika data panas melebihi 10 TB, tingkat kegagalan tugas migrasi sangat tinggi. Kami tidak merekomendasikan menggunakan metode ini untuk migrasi.
Jika data Anda tidak memenuhi kondisi di atas, Anda dapat memilih untuk melakukan migrasi manual.
Isi Migrasi:
Untuk memastikan data Kafka dan RabbitMQ tidak terpisah, kosongkan tabel mesin Kafka dan RabbitMQ dari kluster sumber lalu buat di kluster tujuan. Atau, Anda dapat menggunakan kelompok konsumen yang berbeda.
Hanya skema tabel dari tabel non-MergeTree, seperti tabel eksternal dan tabel Log, yang dapat dimigrasikan.
Jika kluster sumber berisi tabel non-MergeTree, tabel-tabel ini di kluster tujuan hanya akan memiliki skemanya setelah migrasi, tanpa data bisnis apa pun. Untuk memigrasikan data bisnis, Anda dapat menggunakan fungsi remote. Untuk informasi selengkapnya, lihat Gunakan fungsi remote untuk memigrasikan data.
Dampak pada cluster
Kluster sumber: Selama migrasi data, Anda dapat membaca dari dan menulis ke tabel di kluster sumber. Namun, Anda tidak dapat melakukan operasi Data Definition Language (DDL), seperti menambah, menghapus, atau memodifikasi metadata database dan tabel.
PentingUntuk memastikan tugas migrasi selesai, kluster sumber secara otomatis menjeda penulisan data dalam rentang waktu jendela penghentian penulisan yang telah ditentukan ketika perkiraan waktu migrasi tersisa di konsol adalah 10 menit atau kurang.
Kluster sumber secara otomatis melanjutkan penulisan data ketika semua data telah dimigrasikan dalam rentang waktu yang telah ditentukan, atau ketika rentang waktu berakhir sebelum migrasi selesai.
Kluster tujuan: Setelah migrasi, kluster tujuan melakukan operasi merge secara intensif selama periode tertentu. Hal ini meningkatkan penggunaan I/O dan dapat menyebabkan latensi lebih tinggi untuk permintaan layanan. Rencanakan terlebih dahulu dampak potensial dari peningkatan latensi ini. Anda harus menghitung sendiri durasi operasi merge. Untuk informasi tentang cara menghitung durasi, lihat Hitung durasi merge setelah migrasi.
Prosedur
Lakukan langkah-langkah berikut pada kluster tujuan, bukan kluster sumber.
Langkah 1: Buat tugas migrasi
Masuk ke konsol ApsaraDB for ClickHouse.
Pada halaman Clusters, pilih tab Community-compatible Edition Instances, lalu klik ID kluster tujuan.
Di panel navigasi sebelah kiri, klik .
Pada halaman Instance Migration, klik Create Migration Task.
Konfigurasikan instans sumber dan tujuan.
Konfigurasikan informasi berikut lalu klik Test Connection And Proceed.
CatatanSetelah pengujian koneksi berhasil, lanjutkan ke langkah berikutnya. Jika pengujian gagal, konfigurasikan ulang instans sumber dan tujuan sesuai petunjuk.

Konfirmasi konten migrasi.
Bacalah dengan cermat informasi tentang konten migrasi di halaman, lalu klik Next: Precheck And Start Synchronization.
Sistem melakukan pemeriksaan awal dan memulai tugas.
Sistem melakukan Instance Status Check, Storage Space Check, dan Local And Distributed Table Check pada instans sumber dan tujuan.
Jika pemeriksaan berhasil:
Bacalah dengan cermat informasi di halaman tentang dampak pada instans selama migrasi.
Tetapkan Write-stop Time.
CatatanKluster sumber harus menghentikan penulisan selama 10 menit terakhir migrasi untuk memastikan konsistensi data.
Untuk memastikan tingkat keberhasilan migrasi yang tinggi, kami menyarankan agar Anda menetapkan waktu penghentian penulisan minimal 30 menit.
Tugas migrasi harus berakhir dalam waktu lima hari sejak pembuatannya. Oleh karena itu, tanggal akhir untuk Time Of Stopping Data Writing tidak boleh lebih lambat dari
tanggal saat ini + 5 hari.Untuk mengurangi dampak pada bisnis Anda, kami menyarankan agar Anda menetapkan jendela waktu penghentian penulisan pada jam-jam non-puncak.
Klik Complete.
CatatanSaat Anda mengklik Complete, tugas dibuat dan dimulai.
Jika pemeriksaan gagal: Ikuti petunjuk untuk menyelesaikan masalah lalu coba lagi migrasi data. Item pemeriksaan dan persyaratannya adalah sebagai berikut.
Item Pemeriksaan
Persyaratan
Instance Status Check
Saat migrasi dimulai, tidak boleh ada tugas manajemen, seperti skala keluar atau perubahan konfigurasi, yang sedang berjalan di kluster sumber atau tujuan. Jika ada tugas manajemen yang sedang berjalan, Anda tidak dapat memulai tugas migrasi.
Storage Space Check
Sebelum migrasi, sistem memeriksa ruang penyimpanan. Ruang penyimpanan kluster tujuan harus minimal 1,2 kali ruang penyimpanan kluster sumber.
Local And Distributed Table Check
Pemeriksaan gagal jika tabel lokal di kluster sumber tidak memiliki tabel terdistribusi, atau jika tabel terdistribusinya tidak unik. Anda harus menghapus tabel terdistribusi tambahan atau membuat tabel terdistribusi yang unik.
Langkah 2: Evaluasi apakah migrasi dapat diselesaikan
Jika kecepatan penulisan kluster sumber kurang dari 20 MB/detik, Anda dapat melewati langkah ini.
Jika kecepatan penulisan kluster sumber lebih besar dari 20 MB/detik, Anda harus memeriksa kecepatan penulisan aktual kluster tujuan untuk mengevaluasi apakah migrasi dapat diselesaikan. Kecepatan penulisan kluster tujuan harus mampu mengimbangi kecepatan kluster sumber. Lakukan langkah-langkah berikut:
Periksa Disk Throughput kluster tujuan untuk menentukan kecepatan penulisan aktualnya. Untuk informasi selengkapnya tentang cara melihat Disk Throughput, lihat Lihat informasi pemantauan kluster.
Bandingkan kecepatan penulisan kluster tujuan dan sumber.
Jika kecepatan penulisan kluster tujuan lebih besar dari kecepatan penulisan kluster sumber: Migrasi memiliki tingkat keberhasilan tinggi. Anda dapat melanjutkan ke Langkah 3.
Jika kecepatan penulisan kluster tujuan lebih rendah dari kecepatan kluster sumber, migrasi mungkin gagal. Kami menyarankan agar Anda membatalkan tugas migrasi dan melakukan migrasi manual.
Langkah 3: Lihat tugas migrasi
Pada halaman Clusters, pilih tab Community-compatible Edition Instances, lalu klik ID kluster tujuan.
Di panel navigasi sebelah kiri, klik Instance Migration.
Di halaman daftar migrasi instans, Anda dapat melihat Migration Status, Running Stage Information, dan Write-stop Window dari tugas migrasi.
CatatanSaat perkiraan waktu tersisa di kolom Running Stage Information adalah 10 menit atau kurang dan status migrasi adalah Migrating, penghentian penulisan kluster sumber dipicu untuk memastikan konsistensi data. Aturannya adalah sebagai berikut:
Jika waktu pemicu berada dalam jendela waktu penghentian penulisan yang telah ditentukan untuk kluster sumber, kluster sumber menghentikan penulisan.
Jika waktu pemicu tidak berada dalam jendela waktu penghentian penulisan yang telah ditentukan untuk kluster sumber dan kurang dari atau sama dengan
tanggal pembuatan tugas + 5 hari, Anda dapat mengubah jendela waktu penghentian penulisan untuk melanjutkan tugas migrasi.Jika waktu pemicu tidak berada dalam jendela waktu penghentian penulisan yang telah ditentukan untuk kluster sumber dan lebih besar dari
tanggal pembuatan tugas + 5 hari, migrasi gagal. Anda harus membatalkan tugas migrasi, menghapus data yang telah dimigrasikan di kluster tujuan, dan membuat ulang tugas migrasi.
Langkah 4: (Opsional) Batalkan tugas migrasi
Pada halaman Clusters, pilih tab Community-compatible Edition Instances, lalu klik ID kluster tujuan.
Di panel navigasi sebelah kiri, klik Instance Migration.
Di kolom Actions dari tugas migrasi yang dituju, klik Cancel Migration.
Di kotak dialog Cancel Migration, klik OK.
CatatanSetelah Anda membatalkan migrasi, daftar tugas tidak langsung diperbarui. Kami menyarankan agar Anda memperbarui halaman secara berkala untuk memeriksa status tugas.
Setelah tugas dibatalkan, Migration Status-nya berubah menjadi Completed.
Sebelum memulai migrasi baru, Anda harus menghapus data yang telah dimigrasikan dari kluster tujuan untuk menghindari duplikasi data.
Langkah 5: (Opsional) Ubah jendela waktu penghentian penulisan
Pada halaman Clusters, pilih tab Community-compatible Edition Instances, lalu klik ID kluster tujuan.
Di panel navigasi sebelah kiri, klik Instance Migration.
Di kolom Actions dari tugas migrasi yang dituju, klik Modify Write-stop Window.
Di kotak dialog Modify Write-stop Window, pilih Write-stop Time.
CatatanAturan untuk menetapkan Data Write Stop Time sama dengan pengaturan Data Write Stop Time saat Anda membuat tugas migrasi.
Klik OK.
Referensi
Untuk mempelajari cara memigrasikan data dari kluster ClickHouse yang dikelola sendiri ke ApsaraDB for ClickHouse, lihat Migrasi data dari kluster ClickHouse yang dikelola sendiri ke kluster ApsaraDB for ClickHouse Edisi Kompatibel Komunitas.