LoginSignup
15
16

More than 5 years have passed since last update.

redisレプリケーション周りの設定手順まとめ

Posted at

redisのインストールについては、master/slaveともに、既に完了している前提で進めます。
インストールについては、こちらを参照

レプリケーションの設定は、簡単にできましたので手順を記載します。

やりたいこと

  • サーバ間のレプリケーション設定(master/slave)

redisのバージョン(master/slave)

redis-server --version
Redis server v=3.2.4 sha=00000000:0 malloc=jemalloc-4.0.3 bits=64 build=e24ba9f950034b39

今回検証したのは、master, slaveともに上記バージョンをインストールしました。
インストール手順については、こちら

疎通確認

初期設定のままだと、接続設定がlocalhostしか許可されていないので、アクセスができない

redis-cli -h <接続先のホスト>

Could not connect to Redis at <接続先のホスト>:6379: Connection refused
not connected>

恐らく、上記のようなErrorメッセージが出力される

slaveからmasterへの接続設定

・ conf修正

vim /etc/redis/redis.conf 

bind 127.0.0.1 → bind 0.0.0.0

master/slaveともに、上記設定を反映

・ redisの再起動

systemctl restart redis.service

・ 疎通確認

redis-cli -h <接続先のホスト>
<接続先のホスト>:6379> 

レプリケーション設定

・ slaveサーバのconf修正

ここまでで、master, slave間の疎通は取れているかと思いますので、slaveの設定を行います。

vim /etc/redis/redis.conf 

slaveof <masterのIP> <masterのredisのport番号>

portは、特に設定を変えてなければ、デフォルトの6379を記載します。

・ 再起動

systemctl restart redis.service

レプリケーションの確認

ここまでくれば、レプリケーション設定が全て完了しています!
思ったより、簡単!
最後に、設定されているかどうかを確認していきます。

・ slaveサーバの設定確認

redis-cli

127.0.0.1:6379> INFO

# Replication
role:slave

Replication欄に、設定したサーバが記載されていれば、オッケーです。

・ slaveサーバの同期確認

keys *

masterでsetしているデータが、slaveにも反映されている
無事、同期されていることを確認

・ masterサーバの設定確認

redis-cli
127.0.0.1:6379> INFO

# Replication
role:master

masterサーバ側でも、役割がmasterに割り当てられていることを確認。
slave側のIPも記載されている。

15
16
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
15
16