Redis
 sql >> Teknologi Basis Data >  >> NoSQL >> Redis

Cara Memigrasikan Data Redis™ Menggunakan Redis-Shake

Memigrasikan data ScaleGrid for Redis™* dari satu server ke server lain adalah persyaratan umum yang kami dengar dari pelanggan kami. Dua alasan utama yang sering kita dengar adalah karena migrasi perangkat keras, atau kebutuhan untuk membagi data antar server.

Biasanya, Anda ingin bermigrasi dengan waktu henti minimal saat menggunakan alat Redis standar. Dalam posting blog ini, kami akan memandu Anda melalui proses menggunakan alat sumber terbuka Redis-Shake. Dikembangkan dan dikelola oleh Tim NoSQL di departemen Database Alibaba-Cloud, Redis-Shake memungkinkan Anda untuk dengan mudah memigrasikan data Redis antar kluster Redis. Meskipun panduan ini lebih ditujukan untuk penerapan ScaleGrid for Redis™*, panduan ini juga dapat digunakan untuk jenis penerapan Redis lainnya dengan sedikit modifikasi.

Tanpa basa-basi lagi, mari kita mulai dengan panduan migrasi!

Prasyarat

Anda memerlukan mesin Linux atau Windows untuk melakukan migrasi. (Jika diperlukan, ini dapat berupa mesin sumber atau mesin target).

Hal penting yang harus dipastikan sebelum Anda melanjutkan adalah bahwa Redis-Shake tidak mendukung kluster berkemampuan SSL untuk saat ini. Harap pastikan bahwa sumber dan cluster target tidak mengaktifkan SSL.

Aturan Firewall

Pastikan Anda telah membuat aturan firewall agar mesin Linux/Windows Anda dapat terhubung ke cluster sumber dan target Anda. Lihat tautan ini untuk info selengkapnya tentang cara mengaturnya di ScaleGrid.

Unduh Redis-Shake

Unduh dan dekompresi Redis-Shake di mesin Linux/Windows setelah memilih versi terbaru/stabil dari tautan ini. Anda juga dapat menggunakan perintah berikut di bawah ini untuk mengunduh versi terbaru mulai hari ini (v2.1.1).

wget https://github.com/alibaba/RedisShake/releases/download/release-v2.1.1-20210903/release-v2.1.1-20210903.tar.gz
tar -xvzf release-v2.1.1-20210903.tar.gz
cd release-v2.1.1-20210903/

Selanjutnya, kami akan menunjukkan dua kasus penggunaan berbeda untuk Redis-Shake.

  • Memigrasikan data dari Standalone dan Master-Slave
  • Memigrasikan data dalam Mode Cluster

Migrasi Data – Mandiri dan Master-Slave

Di bagian ini, kami akan menunjukkan cara memigrasikan data Anda di berbagai penyiapan berikut:

  • Mandiri ke Mandiri
  • Tuan-Budak menjadi Tuan-Budak
  • Berdiri untuk Master-Slave (dan sebaliknya)

1. Kumpulkan info

Catat info berikut dari tab Ikhtisar di halaman detail cluster dari sumber dan cluster target Anda:

  • Nama Inang :String Koneksi dalam format [hostname:port]. Seharusnya terlihat seperti ini:EX-redms-00-redis-master.example.domain.io
    • (Dalam kasus cluster Master-Slave, kami akan terhubung ke master).
  • Pelabuhan :6379
  • Sandi :Anda dapat menemukan sandi dan menyetel ulang dari konsol di bawah Kredensial

2. Edit File Konfigurasi

Buka file “redis-shake.conf” Anda di folder utama dan edit variabel berikut:

source.type = standalone
source.address = <source_hostname>:6379
source.password_raw = <source_password>

target.type = standalone
target.address = <target_hostname>:6379
target.password_raw = <target_password>

3. Sinkronkan Data

Jalankan perintah berikut untuk menyinkronkan data antara cluster sumber dan target:

$ ./redis-shake -type sync -conf redis-shake.conf

4. Tunggu Log

Tunggu sampai Anda melihat informasi berikut di log:

sync rdb done.

Ini berarti sinkronisasi penuh telah selesai dan sinkronisasi tambahan dimulai.

5. Hentikan Sinkronisasi Inkremental

Jika +writeBytes=0 terlihat lama, maka itu berarti tidak ada data baru yang bertambah. Anda dapat menghentikan sinkronisasi tambahan dengan menekan Ctrl+C . Seharusnya terlihat seperti ini:

sync: +forwardCommands=0 +filterCommands=0 +writeBytes=0

6. Cocokkan Jumlah Kunci

Sekarang ikuti tautan ini ke dokumen bantuan kami yang membantu Anda terhubung ke kedua cluster menggunakan redis-cli dan kemudian mencocokkan jumlah kunci di antara cluster Anda menggunakan info keyspace perintah di kedua cluster.

Dan hanya itu! Anda sekarang telah berhasil memigrasikan data dari satu cluster ke cluster lain menggunakan Redis-Shake. Jika Anda memiliki cluster dalam Mode Cluster, Anda mungkin ingin melihat bagian berikutnya dalam panduan ini untuk mengetahui apa yang perlu Anda lakukan jika menjalankan tipe cluster tersebut.

Migrasi Data – Mode Cluster

Di bagian ini, kami akan menunjukkan cara memigrasikan data dari satu penerapan Redis dalam mode cluster ke cluster lain.

1. Kumpulkan info

Catat info berikut dari tab Ikhtisar di halaman detail cluster dari sumber dan cluster target Anda:

  • Nama Inang :String Koneksi dalam format [hostname1:port], [hostname2:port], [hostname3:port]. Seharusnya terlihat seperti ini:EX-redms-03-redis-master.example.domain.io, EX-redms-06-redis-master.example.domain.io, EX-redms-09-redis- master.example.domain.io
  • Pelabuhan :6379
  • Sandi :Anda dapat menemukan sandi dan menyetel ulang dari konsol di bawah Kredensial

2. Edit File Konfigurasi

Buka file “redis-shake.conf” Anda di folder utama dan edit variabel berikut:

source.type = cluster
source.address = <source_hostname1>:6379;<source_hostname2>:6379;<source_hostname3>:6379
source.password_raw = <source_password>

target.type = standalone
target.address = <target_hostname1>:6379;<target_hostname2>:6379;<target_hostname3>:6379
target.password_raw = <target_password>

3. Sinkronkan Data

Jalankan perintah berikut untuk menyinkronkan data antara cluster sumber dan target:

$ ./redis-shake -type sync -conf redis-shake.conf

4. Tunggu Log

Tunggu sampai Anda melihat informasi berikut di log:

sync rdb done.

Ini berarti sinkronisasi penuh telah selesai dan sinkronisasi tambahan dimulai.

5. Hentikan Sinkronisasi Inkremental

Jika +writeBytes=0 terlihat lama, maka itu berarti tidak ada data baru yang bertambah. Anda dapat menghentikan sinkronisasi tambahan dengan menekan Ctrl+C . Seharusnya terlihat seperti ini:

sync: +forwardCommands=0 +filterCommands=0 +writeBytes=0

6. Cocokkan Jumlah Kunci

Sekarang ikuti tautan ini ke dokumen bantuan kami yang membantu Anda terhubung ke kedua cluster menggunakan redis-cli dan kemudian mencocokkan jumlah kunci di antara cluster Anda menggunakan info keyspace perintah di kedua cluster.

Dan hanya itu! Anda sekarang telah berhasil memigrasikan data dari satu cluster dalam Mode Cluster ke cluster lain menggunakan Redis-Shake. Untuk info lebih lanjut tentang Redis-Shake dan kemampuannya, kunjungi halaman GitHub mereka untuk mengetahui lebih lanjut dan mendapatkan versi terbaru.

Tertarik untuk mempelajari lebih lanjut tentang ScaleGrid?

Untuk mempelajari lebih lanjut tentang bagaimana ScaleGrid Hosting for Redis™* dapat membantu Anda mengelola database, lihat halaman ScaleGrid Service for Redis™ kami. Lihat bagaimana hosting ScaleGrid untuk Redis™ dapat membuat Anda lebih fokus mengembangkan produk, dan lebih sedikit mengelola database.

*Redis adalah merek dagang Redis Labs Ltd. Hak apa pun di dalamnya dilindungi oleh Redis Labs Ltd. Penggunaan apa pun oleh ScaleGrid hanya untuk tujuan referensi dan tidak menunjukkan sponsor, dukungan atau afiliasi antara Redis dan ScaleGrid.


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Koneksi maksimal Azure Redis Cache tercapai

  2. Bagaimana cara mengisolasi redis aplikasi boot musim semi dan redis global sesi boot musim semi

  3. Redis item daftar Pop Dengan jumlah item

  4. Komunikasi waktu nyata antara aplikasi dan halaman web

  5. StackExchange TimeoutException ketika mencoba memasukkan 750 item dalam 2 set di redis