Redis Master-Slave Kurulumu

Ubuntu 20.04

Deniz TÜRKMEN
4 min readDec 8, 2022

Merhabalar,

Bu yazımda Master-Slave Redis kurulumunu inceliycez ilk olarak nedir, hangi amaçla kullanıyoruz.

Redis: Redis, geliştiriciler tarafından en çok kullanılan ve bilinen NoSQL veritabanlarından birisidir. Redis, açık kaynaktır ve kaynak kodlarına GitHub üzerinden erişilebilmektedir. Linux ve türevi işletim sistemleri tarafından desteklenmektedir.

Redis günümüz sistemlerinde en çok kullanılan anahtar-değer veritabanıdır ve genellikle caching, session yönetimi, pub/sub, message broker amacıyla kullanılmaktadır. C ile yazılmış, key-value şeklinde tasarlanmış bir veri yapısı sunucudur. Veriyi bellekte tuttuğu için çok hızlı okuma ve yazma yapar. Genellikle caching, session yönetimi, pub/sub, message broker amacıyla kullanılmaktadır.

Kurulum detaylarına bakalım.

192.168.1.32         Master192.168.1.31         Slave

Note: Aşağıdaki kodlar hem master hem de slave makinelerde kurulum gerçekleştirilecektir. Sadece ilgili “redis.conf “ ayarlanacakdır.

İlk olarak ubuntu 20.04 kurulumunu gerçekleştirerek başlayalım.

  • Ubuntu repository’lerini güncelleyerek başlayalım.
sudo apt updatesudo apt upgrade -y
  • Şimdide redis server kurulumunu yapalım.
sudo apt install -y redis-server
  • Redis Server durumuna bakalım.
sudo systemctl enable redis-serversudo systemctl status redis-server
  • Redis server başarılı şekilde yüklenmiştir.
redis-server

Komutundaki hataları düzeltmek için,

sudo sysctl -w net.core.somaxconn=65535sudo suecho never > /sys/kernel/mm/transparent_hugepage/enabled
  • Redis kontrol etmek için
redis-cliping

Master erişim için firewall’den redis port’unu açalım.

sudo apt-get updatesudo apt install ufwsudo ufw enablesudo ufw allow 22sudo ufw allow 6379ya dasudo ufw allow in on enp0s3 to any port 6379sudo ufw status

Not: Ip aldığı interface ismi ve portuna izin veriyorsunuz.

Master için config ayarları. Bunun için,

cd /etc/redis/sudo vim redis.conf

Config dosyalarına düzeltiyoruz.

bind 192.168.1.23protected-mode yesport 6379masterauth denizturkmensave 900 1save 300 10save 60 10000

Slave config ayarlarını yapalım.

bind 192.168.1.23protected-mode noport 6379requirepass turkmensave 900 1
save 300 10
save 60 10000
slaveof 192.168.1.32 6379

Not: Slaveof olarak Master IP adresini giriyoruz.

Son olarak da master ve slave kontrolü yapalım.

Görüldüğü gibi başarılı şekilde redis-server master-slave kurulumu başarılı ile gerçekleştirdik.

Şimdide master-slave test edelim. Bunun için redis’den bir key oluşturalım.

Not: Master Write+Read, Slave sadece Read yetkisine sahiptir.

Master_slave kontrol edelim. Bunun için master ve slave bağlanarak “info replication” komutunu çalıştıralım.

Şimdi de master’dan bir tane key oluşturalım.

set master master-slave-testkeys *      -> redis tüm keyleri listelemeget master  -> key değerini görmek

Slave sadece read yetkisi olduğuna görerek test edelim.

set slave write-yok

Yukarıdaki resim de görüldüğü gibi slave makinemizin sadece read yetkisi vardır.

--

--