CentOS Stream 9
Sponsored Link

Redis 6 : レプリケーションの設定2022/07/04

 
Redis レプリケーションの設定です。プライマリー/レプリカ型の冗長構成になります。
[1] プライマリーホスト側で設定を変更します。
[root@dlp ~]#
vi /etc/redis/redis.conf
# 75行目 : 自身の IP または 0.0.0.0 に変更

bind
0.0.0.0
-::1
# 259行目 : 変更 (サービスとして起動)

daemonize
yes
# 705行目 : 必要に応じて追記
# min-replicas-to-write : 設定値の数以上のレプリカが存在する場合に限り書き込みを受け付ける
# min-replicas-max-lag : 設定値の時間 (秒) 内で上記設定値の数のレプリカが確認できた場合 OK とする

min-replicas-to-write 1
min-replicas-max-lag 10
# 904行目 : 他ノードからの接続パスワードを設定

requirepass password
[root@dlp ~]#
systemctl restart redis
[2] レプリカホスト側で設定を変更します。
[root@node01 ~]#
vi /etc/redis/redis.conf
# 75行目 : 自身の IP または 0.0.0.0 に変更

bind
0.0.0.0
-::1
# 259行目 : 変更 (サービスとして起動)

daemonize
yes
# 480行目 : プライマリーサーバーの IP と ポートを追記

replicaof 10.0.0.30 6379
# 487行目 : プライマリーサーバーに設定した認証パスワードを追記

masterauth password
# 529行目 : 設定確認 (レプリカホストはリードオンリー)

replica-read-only yes
[root@node01 ~]#
systemctl restart redis
[3] プライマリー/レプリカ両ホストで Firewalld を有効にしている場合は、サービスの許可が必要です。
[root@dlp ~]#
firewall-cmd --add-service=redis

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

success
[4] レプリカホスト側で統計情報を確認します。
[master_link_status:up] となっていれば OK です。
[root@node01 ~]#
redis-cli

127.0.0.1:6379> auth password 
OK

# 統計情報確認
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

# プライマリー側でセットした任意のキーが取得できるか確認
127.0.0.1:6379> get key_on_master 
"value_on_master"
関連コンテンツ