Redis Kurulumu
- Kurulum dosyası indirilir.
wget http://download.redis.io/redis-stable.tar.gz
- İndiriline dosya açılır. Daha sonra redis-stable klasörü içine geçilir.
tar xzvf redis-stable.tar.gzcd redis-stable
- redis-stable klasörü içinde aşağıdaki komutlar çalıştırılır. make test komutu sırasında eksik olan tcl yüklenmesi istenebilir.
makemake testyum install tclcd srcmake testmake install
- Kontrol için aşağıdaki komut çalıştırılır. Ekran görüntüsü aşağıdaki gibi olmalıdır.
redis-server
- Servisi çalıştıracak kullanıcıyı ekliyoruz.
adduser --system --user-group --no-create-home redis
- config dosyalarını kopyalayacağımız klasörü oluşturuyoruz ve altına ilgili dosyaları kopyalıyoruz.
mkdir -p /etc/rediscp /home/LogoPaaS/redis-stable/redis.conf /etc/redis/redis.confcp /home/LogoPaaS/redis-stable/sentinel.conf /etc/redis/sentinel.conf
- redis data klasörünü oluşturup servis kullanıcısı için yetki veriyoruz.
mkdir /data/redischown redis:redis /data/redissudo chmod 770 /data/redis
- Redisi servisi olarak çalıştırmak için aşağıdaki gibi bir servis dosyası oluşturuyoruz.
nano /etc/systemd/system/redis-server.service
- Eklediğimiz servis dosyası içine aşağıdaki komutları ekliyoruz.
[Unit]
Description=Redis In-Memory Data Store
After=network.target
[Service]
User=redis
Group=redis
ExecStart=/usr/local/bin/redis-server /etc/redis/redis.conf
ExecStop=/usr/local/bin/redis-cli shutdown
Restart=always
[Install]
WantedBy=multi-user.target
- Redis’i çalıştırıp, kontrol ediyoruz.
systemctl start redis-server
systemctl status redis-server
- Servisin her açılışta çalışması için aşağıdaki komutu çalıştırıyoruz.
systemctl enable redis-server
- Örnek bir redis denemesi yapıyoruz.
redis-cli
set baskent ankara
get baskent
Redis Sentinel Kurulumu
- Redis kurulumundan sonra aşağıdaki komut çalıştırılarak kontrol yapılabilir. Sonuç ekran görüntüsü aşağıdaki gibi olmalıdır.
redis-sentinel
- Sentinel data klasörü oluşturulup servis kullanıcısı için yetkiler verilir.
mkdir -p /data/redis-sentinel
chown redis:redis /data/redis-sentinel
sudo chmod 770 /data/redis-sentinel
chown redis:redis /etc/redis/sentinel.conf
- Sentineli servis olarak çalıştırmak için aşağıdaki dosya oluşturulur.
nano /etc/systemd/system/redis-sentinel.service
- Oluşturulan dosya içine aşağıdaki bilgiler eklenir.
[Unit]
Description=Sentinel for Redis
After=network.target
[Service]
User=redis
Group=redis
ExecStart=/usr/local/bin/redis-sentinel /etc/redis/sentinel.conf
[Install]
WantedBy=multi-user.target
- Sentinel servisi çalıştırılır ve durumu kontrol edilir.
systemctl start redis-sentinel
systemctl status redis-sentinel
- Servisin her açılışta otomatik açılması için aşağıdaki komut çalıştırılır.
systemctl enable redis-sentinel
Redis Master Konfigürasyonu
- Kullanılacak redis portu dışarıya açılır.
firewall-cmd –zone=public –permanent –add-port=6379/tcp
- Log klasörü ve log dosyaları oluşturulup yetki verilir.
mkdir -p /var/log/redis/
touch /var/log/redis/redis.log
chown redis:redis /var/log/redis/redis.log
- Redis config dosyası nano veya başka bir araç ile açılır.
nano /etc/redis/redis.conf
- Dosya aşağıdaki var olanlar için güncellenir, olmayan varsa eklenir.
bind 127.0.0.1 10.131.62.82
dir /data/redis
supervised systemd
logfile /var/log/redis/redis.log
Sentinel Configuration
- Sentinel config dosyası açılır.
nano /etc/redis/sentinel.conf
- Dosya aşağıdaki değerler ile güncellenir. Var olanlar değiştirilir, olmayanlar eklenir.
bind 10.41.21.15
dir /data/redis-sentinel
logfile /var/log/redis/sentinel.log
sentinel monitor mymaster 10.41.21.15 6379 2
sentinel down-after-milliseconds mymaster 10000
sentinel parallel-syncs mymaster 1
sentinel failover-timeout mymaster 20000
sentinel leader-epoch mymaster 0
sentinel config-epoch mymaster 0
sentinel deny-scripts-reconfig yes
- Konfig dosyası servis kullanısı için yetki verilir.
chown redis:redis /etc/redis/sentinel.conf
- Servis restart edilir.
systemctl restart redis-sentinel
- Şu ana kadar yapılanlar master node için yapıldı. Bundan sonraki işlemler yaklaşık olarak benzer işlemler. Benzer işlemler olduğu için sadece çalıştırılan komutları yazıldı.
RedisSlave01 Redis Configuration
firewall-cmd –zone=public –permanent –add-port=6379/tcp
mkdir -p /var/log/redis/
touch /var/log/redis/redis.log
chown redis:redis /var/log/redis/redis.log
nano /etc/redis/redis.conf
- Dosya içinde aşağıdakiler olanlar güncellenir, olmayanlar eklenir.
bind 127.0.0.1 10.41.21.16
dir /data/redis
logfile /var/log/redis/redis.log
supervised systemd
slaveof 10.41.21.15 6379
slave-priority 150
RedisSlave01 Sentinel Configuration
firewall-cmd –zone=public –permanent –add-port=26379/tcp
nano /etc/redis/sentinel.conf
- Dosya içinde aşağıdakilerden olanlar güncellenir, olmayanlar eklenir.
bind 10.41.20.17
dir /data/redis-sentinel
logfile /Var/log/redis/sentinel.log (should have created)
sentinel monitor logoredis 10.131.62.82 6379 2
sentinel down-after-milliseconds logoredis 10000
sentinel parallel-syncs logoredis 1
sentinel failover-timeout logoredis 20000
sentinel leader-epoch logoredis 0
sentinel config-epoch logoredis 0
RedisSlave02 Redis Configuration
firewall-cmd –zone=public –permanent –add-port=6379/tcp
mkdir -p /var/log/redis/
touch /var/log/redis/redis.log
chown redis:redis /var/log/redis/redis.log
nano /etc/redis/redis.conf
- Dosya içinde aşağıdakilerden olanlar güncellenir, olmayanlar eklenir.
bind 127.0.0.1 10.41.20.17
dir /data/redis
logfile /var/log/redis/redis.log
supervised systemd
slaveof 10.41.21.15 6379
slave-priority 200
RedisSlave02 Sentinel Configuration
firewall-cmd –zone=public –permanent –add-port=26379/tcp
nano /etc/redis/sentinel.conf
- Dosya içinde aşağıdakilerden olanlar güncellenir, olmayanlar eklenir.
bind 10.41.20.17
dir /data/redis-sentinel
logfile /var/log/redis/sentinel.log (should have created)
sentinel monitor logoredis 10.131.62.82 6379 2
sentinel down-after-milliseconds logoredis 10000
sentinel parallel-syncs logoredis 1
sentinel failover-timeout logoredis 20000
sentinel leader-epoch logoredis 0
sentinel config-epoch logoredis 0
- Master ve slave durumlarını kontrol etmek için aşağıdaki komutlar kullanılabilir.
redis-cli info | grep ^role
redis-cli -h 10.41.21.16 -p 6379 info|grep role
redis-cli -h 10.41.21.16 -p 26379 info|grep status




Leave a comment