Debian 12 bookworm
Sponsored Link

Redis 7 : Configure Replication2023/07/06

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

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

daemonize yes
# line 789 : 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 1037 : authentication password

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

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

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

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

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

replica-read-only yes
root@node01:~#
systemctl restart redis
[3] 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:8
master_sync_in_progress:0
slave_read_repl_offset:84
slave_repl_offset:84
slave_priority:100
slave_read_only:1
replica_announced:1
connected_slaves:0
master_failover_state:no-failover
master_replid:bdf1f734d6be505ccca26864b7a7683cf7329e17
master_replid2:0000000000000000000000000000000000000000
master_repl_offset:84
second_repl_offset:-1
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:71
repl_backlog_histlen:14

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