Redisレプリケーション

https://changineer.info/server/nosql/nosql_redis_replication.html


前提
OS : Rocky Linux 9.1
Redis version : 6.2.7

mmm191 : Redis master
mmm192 : Redis replica
mmm193 : Redis replica


-- 1. Redisインストール[mmm191,mmm192,mmm193で実施]

※Redis Sentinelもインストールされる


dnf install -y redis

systemctl enable redis
systemctl restart redis
systemctl status redis

redis-server --version

redis-cli


-- 2. bind設定[mmm191,mmm192,mmm193で実施]

vim /etc/redis/redis.conf

bind 0.0.0.0

systemctl restart redis

netstat -ano | grep 6379


-- 3. replicaの設定[mmm192,mmm193で実施]


redis-cli

replicaof 192.168.137.191 6379


-- 4. replicaの設定確認[mmm191,mmm192,mmm193で実施]

info replication


set key01 "val01"
get key01

 

-- 5. Sentinelの設定[mmm191,mmm192,mmm193で実施]


vim /etc/redis/sentinel.conf

sentinel monitor mymaster 192.168.137.191 6379 2

※mymasterは他の箇所でも使用されている


systemctl restart redis-sentinel
systemctl status redis-sentinel
systemctl enable redis-sentinel


tail /var/log/redis/sentinel.log 

 

-- 6. 切り替わり確認[mmm191,mmm192,mmm193で実施]

-- mmm191サービス停止
systemctl stop redis

tail -f /var/log/redis/sentinel.log 

redis-cli

info replication


set key02 "val02"
get key02


-- 7. 切り戻し確認[mmm191,mmm192,mmm193で実施]

-- mmm191サービス起動
systemctl start redis

新マスタのレプリカとなる
自動で元のマスタには戻らない模様

redis-cli

info replication