redisの哨兵モードの構築方法

Redis センチネルモードは、Redis 主ノードの状態を監視し、主ノードが停止した場合に自動的にスレーブノードのいずれかを昇格させることでフェイルオーバーを実現する、高可用な Redis のデプロイメントアーキテクチャです。Redis センチネルモードを構築する手順は次のとおりです。

  1. Redisのインストール:まず、すべてのサーバにRedisをインストールします。Redisの最新バージョンはRedisの公式サイトからダウンロードでき、インストール手順は公式サイトのドキュメントに従って実施できます。
  2. 既存サーバーの1つにRedisマスターノードを構築する:マスターノードの設定ファイル(通常/etc/redis/redis.conf)を開き、以下のパラメータを見つけて変更します:
  3. ポート 6379
    bind 0.0.0.0
    daemonize yes
  4. 「port」引数をRedisマスターノードのポート番号に設定(デフォルトは6379)、「bind」引数を「0.0.0.0」に設定して任意のIPからの接続を許可し、「daemonize」引数を「yes」に設定してRedisをデーモンプロセスとして実行します。
  5. 主Redisノードを起動する:Redis主ノードをメインノードサーバーで起動します。Redisを起動するには、次のコマンドを使用します。
  6. redis-サーバー/etc/redis/redis.conf
  7. Redisのセカンダリーを作成する:もう一つのサーバ上にRedisセカンダリーを作成する。やはりセカンダリーのコンフィグファイルを開いて以下のパラメータを見つけて変更する:
  8. port 6379
    bind 0.0.0.0
    daemonize yes
    slaveof <マスターIP> <マスターポート>
  9. ポートパラメータにはRedisスレーブノードのポート番号を設定し(親ノードと同じでも可)、bindパラメータは0.0.0.0に設定して任意のIPからの接続を許可し、daemonizeパラメータはyesに設定してRedisをバックグラウンドプロセスとして実行し、最後にslaveofパラメータで親ノードのIPとポート番号を指定します。
  10. 各々の従サーバ上で、Redisの従サーバを起動します。
  11. Redisセンチネルノードのデプロイ:Redisセンチネルノードとして使用するサーバを選択します。センチネルノードの設定ファイルを開き、以下のパラメータを見つけて変更します。
  12. ポート 26379
    sentinel monitor <マスターノード名> <マスターノードIP> <マスターノードポート番号> <投票数>
  13. ポート引数は、センチネルノードのポート番号(デフォルトは26379)を設定するもので、センチネルモニタ引数を使用して、監視対象のマスターノード情報を指定します。その中で、<マスターノード名>は自由にカスタマイズできますが、<マスターノードIP>と<マスターノードポート番号>は、マスターノードのIPとポート番号と同じにする必要があります。<投票数>は、マスターノードを選択するための最小のセンチネルノード数です。
  14. 哨兵ノードの起動: 哨兵ノードサーバ上で Redis の哨兵ノードを起動します。
  15. センチネルモードの検証:センチネルノードへの接続、以下のコマンドを実行してマスターノードの状態確認:
  16. redis-cli -p 26379 –cluster call sentinel masters

以上はRedisの哨兵モードの基本的な手順であり、実際のニーズに応じて調整と最適化を行うことができます。

bannerAds