CentOS Stream 9
Sponsored Link

Redis 6 : Configure Replication2022/07/04

 
Configure Redis Replication. This configuration is general Primary-Replica settings.
[1] Change Settings on Primary Host.
[root@dlp ~]#
vi /etc/redis/redis.conf
# line 75 : change to own IP address or [0.0.0.0]

bind
0.0.0.0
-::1
# line 259 : change (run as daemon)

daemonize
yes
# line 705 : add follows if need
# min-replicas-to-write : if number of Replica Hosts are online, Primary Host accepts write requests
# min-replicas-max-lag : decision time(sec) for online if Replica Hosts return answer within specified time

min-replicas-to-write 1
min-replicas-max-lag 10
# line 904 : authentication password

requirepass password
[root@dlp ~]#
systemctl restart redis
[2] Change Settings on Replica Host.
[root@node01 ~]#
vi /etc/redis/redis.conf
# line 75 : change to own IP address or [0.0.0.0]

bind
0.0.0.0
-::1
# line 259 : change (run as daemon)

daemonize
yes
# line 480 : add Primary Host IP address and port

replicaof 10.0.0.30 6379
# line 487 : add authentication password set on Primary Host

masterauth password
# line 529 : verify parameter (set Replica Hosts read-only)

replica-read-only yes
[root@node01 ~]#
systemctl restart redis
[3] On all Nodes, If Firewalld is running, allow service.
[root@dlp ~]#
firewall-cmd --add-service=redis

success
[root@dlp ~]#
firewall-cmd --runtime-to-permanent

success
[4] Verify statistics on Replica Hosts, then it's OK if [master_link_status:up] is shown.
[root@node01 ~]#
redis-cli

127.0.0.1:6379> auth password 
OK

# show statics
127.0.0.1:6379> info Replication 
# Replication
role:slave
master_host:10.0.0.30
master_port:6379
master_link_status:up
master_last_io_seconds_ago:9
master_sync_in_progress:0
slave_read_repl_offset:98
slave_repl_offset:98
slave_priority:100
slave_read_only:1
replica_announced:1
connected_slaves:0
master_failover_state:no-failover
master_replid:ee747f7356ff888483698c97620165a557460cde
master_replid2:0000000000000000000000000000000000000000
master_repl_offset:98
second_repl_offset:-1
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:1
repl_backlog_histlen:98

# verify to get keys set on Primary Host
127.0.0.1:6379> get key_on_master 
"value_on_master"
Matched Content