CentOS 8
Sponsored Link

Redis 5 : レプリケーションの設定2019/11/29

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

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

daemonize
yes
# 459行目:必要に応じて追記

# min-slaves-to-write : 設定値の数以上のレプリカが存在する場合に限り書き込みを受け付ける

# min-slaves-max-lag : 設定値の時間 (秒) 内で上記設定値の数のスレーブが確認できた場合 OK とする

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

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

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

daemonize
yes
# 287行目:マスターサーバーの IP と ポートを追記

replicaof 10.0.0.31 6379
# 294行目:マスターサーバーに設定した認証パスワードを追記

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

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

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

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.31
master_port:6379
master_link_status:up
master_last_io_seconds_ago:6
master_sync_in_progress:0
slave_repl_offset:134
slave_priority:100
slave_read_only:1
connected_slaves:0
master_replid:44a90666ab73ef6ec5d755ed4b8f87062309679f
master_replid2:0000000000000000000000000000000000000000
master_repl_offset:134
second_repl_offset:-1
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:15
repl_backlog_histlen:120

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