CentOS Stream 8
Sponsored Link

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

bind
0.0.0.0
# line 224 : change (run as daemon)

daemonize
yes
# line 602 : 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 792 : authentication password

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

bind
0.0.0.0
# line 224 : change (run as daemon)

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

replicaof 10.0.0.31 6379
# line 407 : add authentication password set on Primary Host

masterauth password
# line 437 : 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@www ~]#
firewall-cmd --add-service=redis --permanent

success
[root@www ~]#
firewall-cmd --reload

success
[4] Verify statics 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.31
master_port:6379
master_link_status:up
master_last_io_seconds_ago:5
master_sync_in_progress:0
slave_repl_offset:56
slave_priority:100
slave_read_only:1
connected_slaves:0
master_replid:f6b54cb0cc4143555b9e2f6a714921de55002cc7
master_replid2:0000000000000000000000000000000000000000
master_repl_offset:56
second_repl_offset:-1
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:1
repl_backlog_histlen:56

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