GNU/Linux >> Belajar Linux >  >> Cent OS

Cara Mengatur Replikasi Redis (dengan Mode Cluster Dinonaktifkan) di CentOS 8 – Bagian 1

Merah (Server Kamus Jarak Jauh ) adalah open source yang sangat populer dan banyak digunakan, cepat, terdistribusi, dan efisien dalam database key-value/struktur data server.

Ini menawarkan serangkaian fitur kaya yang membuatnya efektif untuk berbagai kasus penggunaan:sebagai database, lapisan caching, broker pesan, atau antrian; berlaku di aplikasi web, aplikasi obrolan dan perpesanan, game, analisis data waktu nyata, dan banyak lagi.

Mendukung struktur data yang fleksibel, replikasi asinkron master-slave untuk menskalakan kinerja baca dan menjaga dari kehilangan data, sharding sisi klien untuk menskalakan kinerja tulis, dua bentuk ketekunan untuk menulis data dalam memori ke disk dalam format yang ringkas, pengelompokan, dan partisi. Ini juga menampilkan failover otomatis untuk penerapan ketersediaan tinggi melalui Redis Sentinel , Skrip Lua , transaksi , dan banyak lagi.

Menjadi TIDAK ADA SQL atau database non-relasional, Redis menawarkan beberapa manfaat kinerja dibandingkan sistem database tradisional (seperti MySQL/MariaDB , PostgreSQL , dll.), karena semua datanya berada atau disimpan dalam memori sehingga mudah diakses oleh aplikasi, sedangkan database tradisional harus menulis semua data ke atau membaca dari disk atau sumber eksternal.

Merah telah menjadi pilihan yang semakin umum untuk caching, yang memungkinkan penggunaan kembali data yang di-cache (disimpan dalam ruang memori utama aplikasi) daripada selalu menanyakan database untuk data yang sering digunakan. Jadi ini adalah pendamping yang fantastis dari RDMS (Sistem Manajemen Basis Data Relasional ) untuk akhirnya meningkatkan kinerja aplikasi.

Dalam Redis tiga bagian ini seri tutorial, kami akan membahas cara menyiapkan dan menggunakan beberapa fitur utama Redis yaitu replikasi, ketersediaan tinggi menggunakan Redis Sentinel dan Kluster Redis , artikelnya adalah:

Bagian 1 :Cara Mengatur Replikasi Redis (dengan Mode Cluster Dinonaktifkan) di CentOS 8 Bagian 2 :Cara Mengatur Redis untuk Ketersediaan Tinggi dengan Sentinel di CentOS 8 Bagian 3 :Cara Menyiapkan Cluster Redis (dengan Mode Cluster Diaktifkan) di CentOS 8

Panduan ini menunjukkan cara menyiapkan Replikasi Redis (dengan Mode Cluster Dinonaktifkan ) di CentOS 8 Linux, termasuk cara menginstal Redis, mengkonfigurasi master dan replika, serta menguji replikasi.

Penting :Kluster Redis (yaitu Kluster Replikasi ) dengan mode kluster dinonaktifkan memiliki satu grup simpul (mis. master dan satu atau dua replika) di mana kluster Redis dengan mode kluster diaktifkan dapat terdiri dari dua atau lebih grup node (mis., tiga master masing-masing memiliki atau dua slave).

Prasyarat:

  1. Server dengan Instalasi CentOS 8

Pengujian Pengaturan Lingkungan

Redis Master Server: 10.42.0.247
Redis Replica1/Slave1: 10.42.0.21
Redis Replica2/Slave2: 10.42.0.34

Representasi Logis Diagram Replikasi Redis

Dengan pengaturan di atas (yang memiliki satu node utama/master baca/tulis dan 2 node replika read-only), kami memiliki grup node tunggal yang berisi semua data cluster di setiap node. Setelah slave terhubung ke master, ia menerima salinan awal dari database lengkap dan semua data yang sebelumnya ada pada slave akan dibuang.

Selain itu, klien hanya dapat menulis ke master tetapi membaca dari node mana pun di cluster. Dan saat penulisan dilakukan pada master, penulisan tersebut disebarkan ke semua slave yang terhubung untuk memperbarui kumpulan data slave secara real-time.

Langkah 1:Menginstal Redis di CentOS 8

1. Untuk memulainya, masuk ke semua CentOS 8 node melalui SSH, lalu instal Redis paket di semua node (master dan replika) menggunakan pengelola paket DNF seperti yang ditunjukkan.

# dnf install @redis

2. Setelah menyelesaikan Redis penginstalan paket, mulai Redis service, aktifkan untuk memulai secara otomatis pada setiap boot sistem dan periksa apakah sudah aktif dan berjalan sebagai berikut.

# systemctl start redis
# systemctl enable redis
# systemctl status redis

3. Anda juga dapat mengonfirmasi bahwa Redis server aktif dan berjalan dengan memeriksa port mendengarkan menggunakan perintah ss, sebagai berikut.

# ss -ltpn | grep redis-server

Konfirmasi Port Server Redis

Langkah 2:Mengonfigurasi Redis Master Server

4. Redis dikonfigurasi menggunakan /etc/redis.conf file konfigurasi, contoh file konfigurasi yang didokumentasikan sendiri. Pertama, buat cadangan file asli, lalu buka untuk diedit menggunakan editor baris perintah pilihan Anda.

# cp /etc/redis.conf /etc/redis.conf.org
# vi /etc/redis.conf

5. Secara default, Redis instance dikonfigurasi untuk mendengarkan dan menerima koneksi di loopback antarmuka, menggunakan direktif bind. Untuk berkomunikasi dengan replika, master harus dikonfigurasi untuk mendengarkan di IPv4 alamat loopback dan alamat IP LAN-nya yaitu 10.42.0.247 .

bind 127.0.0.1 10.42.0.247

6. Selanjutnya, atur parameter mode-terlindungi ke no untuk memungkinkan komunikasi dengan replika seperti yang ditunjukkan.

protected-mode no

Selain itu, Redis mendengarkan pada port 6379 yang diatur menggunakan port pengarahan. Ini adalah port data untuk berkomunikasi dengan API aplikasi atau klien CLI.

port 6379

Mengonfigurasi Server Master Redis

7. Untuk mengamankan replika master . secara opsional komunikasi, kami dapat melindungi master menggunakan requirepass direktif, sehingga klien/replika harus mengeluarkan kata sandi otentikasi sebelum menjalankan perintah apa pun atau memulai proses sinkronisasi replikasi, jika tidak, master akan menolak permintaan klien/replika (ingat untuk menetapkan kata sandi aman).

Kami akan menggunakan opsi berikut untuk tujuan demonstrasi, untuk menunjukkan cara kerjanya.

requirepass  [email protected]

Setel Kata Sandi Otentikasi

8. Selain itu, log Redis disimpan di /var/log/redis/redis.log file, ini diatur menggunakan logfile direktif dan tingkat verbositas server default adalah notice , ditentukan menggunakan loglevel parameter.

loglevel  notice
logfile  /var/log/redis/redis.log

Setel File Log Redis dan Level Log

9. Sejak systemd adalah sistem dan manajer layanan default di CentOS 8 , Anda dapat mengonfigurasi Redis untuk berinteraksi dengan systemd pohon pengawasan dengan menyetel diawasi parameter ke systemd .

supervised systemd

Setel Redis Supervisor ke Systemd

10. Setelah membuat semua konfigurasi yang diperlukan, simpan file dan tutup. Kemudian mulai ulang Redis layanan untuk menerapkan perubahan baru.

# systemctl daemon-reload
# systemctl restart redis

11. Untuk mengakses Redis server, kita perlu menggunakan redis-cli (antarmuka baris perintah ke redis-server). Secara default, ini terhubung ke server di localhost (di 127.0.0.1 pelabuhan 6379 ). Perhatikan bahwa karena server diamankan dari klien menggunakan kata sandi, menjalankan perintah sebelum otentikasi akan gagal.

Gunakan auth perintah untuk memberikan kata sandi otentikasi seperti yang ditunjukkan pada tangkapan layar berikut.

# redis-cli
127.0.0.1:6379> client list
127.0.0.1:6379> AUTH [email protected]
127.0.0.1:6379> client list

Akses Server Redis melalui Redis CLI

12. Untuk terhubung ke replika (setelah mengonfigurasinya seperti yang dijelaskan di bagian berikutnya), gunakan -h dan -p opsi untuk menentukan alamat IP replika/nama host dan port masing-masing (bukan port itu 6379 harus dibuka di firewall replika).

# redis-cli -h 10.42.0.21 -p 6379

13. Selanjutnya, buka Redis port data server di firewall untuk mengizinkan koneksi masuk ke master, dan selanjutnya memuat ulang aturan firewall menggunakan perintah firewall-cmd seperti yang ditunjukkan.

# firewall-cmd --zone=public --permanent --add-port=6379/tcp 
# firewall-cmd --reload

Langkah 3:Mengonfigurasi Server Replika/Slave Redis

14. Untuk menyetel Redis . dengan cepat misalnya sebagai replika dengan cepat, gunakan redis-cli utilitas dan panggil REPLICAOF perintah seperti yang ditunjukkan.

# redis-cli replicaof 10.42.0.247 6379
OR
# redis-cli
127.0.0.1:6379> REPLICAOF 10.42.0.247 6379

Terhubung ke Instans Redis Master

15. Untuk membuat koneksi replikasi permanen, Anda perlu membuat perubahan berikut di file konfigurasi. Mulailah dengan mencadangkan file asli, lalu buka untuk diedit.

# cp /etc/redis.conf /etc/redis.conf.org
# vi /etc/redis.conf

16. Untuk mengizinkan klien terhubung ke replika untuk membaca data, tambahkan alamat IP replika ke arahan bind.

# replica1
bind 127.0.0.1 10.42.0.21

# replica2
bind 127.0.0.1 10.42.0.34

Menetapkan Instance Redis sebagai Replika

17. Untuk mengonfigurasi instance Redis sebagai replika , gunakan replika parameter dan atur alamat IP node master (atau nama host) dan port sebagai nilai.

replicaof 10.42.0.247 6379

Mengatur Replika untuk Mengautentikasi ke Master

18. Selanjutnya, karena instance master kita dilindungi menggunakan kata sandi, kita perlu menyetel kata sandi dalam konfigurasi replika untuk memungkinkannya mengautentikasi ke master, menggunakan masterauth parameter.

masterauth [email protected]

19. Selain itu, saat replika kehilangan koneksinya dengan master, atau saat replikasi sedang berlangsung, replika dikonfigurasi untuk membalas permintaan klien, mungkin dengan “kedaluwarsa data. Namun untuk jika sinkronisasi pertama, maka data set mungkin saja kosong. Perilaku ini dikendalikan oleh replica-serve-stale-data parameter.

Dan, sejak Redis 2.6 secara default replika hanya-baca, ini dikendalikan oleh replika-baca-saja parameter. Anda dapat membuat penyesuaian konfigurasi replika lainnya agar sesuai dengan kebutuhan aplikasi Anda.

20. Setelah Anda membuat semua perubahan yang diperlukan, mulai ulang layanan Redis di semua replika.

# systemctl restart redis

21. Juga, buka port 6379 di firewall untuk mengizinkan koneksi dari master dan klien ke replika, dan memuat ulang aturan firewall.

# firewall-cmd --zone=public --permanenent --add-port=6379/tcp
# firewall-cmd --reload

Langkah 4:Periksa Status Replikasi Master-replika

22. Setelah master-replika konfigurasi replikasi selesai, kita dapat memeriksa apakah pengaturan berfungsi dengan baik sebagai berikut.

Pada master, jalankan perintah berikut.

# redis-cli
127.0.0.1:6379> AUTH [email protected]
127.0.0.1:6379> info replication

Periksa Info Relokasi Redis di Master

23. Juga, periksa status replikasi pada replika/slave sebagai berikut.

# redis-cli
127.0.0.1:6379> info replication

Cek Info Replikasi Redis di Redis Replica 1

Cek Info Replikasi Redis di Redis Replica 2

23. Sekarang mari kita uji replikasi dengan menyetel nilai kunci di instance master dan periksa apakah data disinkronkan ke replika.

Pada master, lakukan ini:

# redis-cli
127.0.0.1:6379> AUTH [email protected]
127.0.0.1:6379> set domain 'www.tecmint.com'

Tetapkan Nilai Kunci di Instans Master

24. Kemudian periksa apakah data telah disinkronkan ke replika seperti yang ditunjukkan.

# redis-cli
127.0.0.1:6379> get domain

Periksa Status Sinkronisasi Data pada Replika

Melindungi Instans Master dari Risiko Kehilangan Beberapa Penulisan

25. Redis memiliki fitur yang memungkinkan instans master membatasi risiko kehilangan beberapa penulisan jika replika tidak cukup tersedia, hingga jumlah detik yang ditentukan.

Ini berarti master dapat berhenti menerima penulisan jika ada kurang dari N replika terhubung, memiliki jeda kurang atau sama dengan M detik, seperti yang dikendalikan oleh min-replicas-to-write dan min-replicas-max-lag pilihan masing-masing.

Untuk menyetelnya, batalkan komentarnya dan setel nilainya sesuai dengan persyaratan penyiapan Anda di /etc/redis.conf , seperti yang ditunjukkan pada tangkapan layar berikut. Konfigurasi ini berarti bahwa, dari ping terakhir ke replika, setelah 10 detik, jika ada kurang dari 2 replika online, master akan berhenti menerima penulisan.

min-replicas-to-write 2
min-replicas-max-lag 10

Melindungi Master Redis dari Kehilangan Tulis

Anda dapat menemukan lebih banyak opsi di bagian /etc/redis.conf . lainnya file konfigurasi dan untuk detail lebih lanjut baca tentang replikasi di dokumentasi Redis.

Pada artikel berikutnya, kami akan membahas cara menyiapkan Redis untuk ketersediaan tinggi dengan Sentinel di CentOS 8 . Sampai saat itu, tetap terkunci dan ingatlah untuk membagikan pemikiran dan pertanyaan Anda menggunakan formulir komentar kami di bawah ini agar Anda dapat menghubungi kami.

Berbagi itu Peduli…
Berbagi di FacebookBerbagi di TwitterBerbagi di LinkedinBerbagi di Reddit
Cent OS
  1. Cara Memasang dan Mengatur Varnish Cache 6 dengan Nginx di CentOS 8

  2. Cara Setup Pure-FTPD dengan MySQL di CentOS &RedHat

  3. Cara mengatur replikasi MySQL di CentOS

  1. Cara Setup Server FTP dengan VSFTPD di CentOS 7

  2. Cara Setup Server FTP dengan VSFTPD di CentOS 8

  3. Cara Setup Apache Subversion dengan HTTPS Letsencrypt di CentOS 7

  1. Cara mengatur server SVN di CentOS

  2. Cara Menginstal dan Mengonfigurasi Replikasi Master-Slave dengan PostgreSQL 9.6 di CentOS 7

  3. Cara Mengatur NGINX yang Sangat Tersedia dengan KeepAlived di CentOS 8