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
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 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" |
Sponsored Link |
|