Redis哨兵のメカニズムと災害訓練

4198 ワード

歩哨はすべてこの配置を採用すればよい.
1、sentinelを修正する.confプロファイル
2、保護禁止モードprotected-mode no
 protected-modeパラメータは、外部ネットワークのredisへのアクセスを禁止するために使用され、有効になっている場合はlookback ip(127.0.0.1)のみでRedisにアクセスできます.外部ネットワークがredisにアクセスしている場合は、redisインスタンスプロファイルでbindパラメータが無効になり、protected-modeがnoに設定されている場合、外部ネットワークのredisへのアクセスは上記のエラーが報告されます.sentinelインスタンスのプロファイルにパラメータprotected-mode noを追加する必要があるため
3、監視するサーバーの配置
  解釈:リスニングのメインサーバーを配置し、ここでsentinel monitorは監視を代表し、mymasterはサーバーの名前を代表し、カスタマイズすることができ、172.16.178.2は監視のメインサーバーを代表し、6379はポートを代表し、2はメインサーバーが使用できないと判断した2人以上の哨兵だけがfailover操作を行う
quorumの解釈は以下の通りである.1人の哨兵を選出して故障移転操作を実行する(3)5人の哨兵がいると仮定し、quorumは2を設置したが、5人の哨兵のうち2人がmasterが掛けたと判断した場合.2人の哨兵のうち1人は選挙を行い、1人の哨兵を選挙し、故障移転を実行する.5人の哨兵のうち3人が運行している場合、故障移転は許可されます
#   :sentinel monitor    
# Tells Sentinel to monitor this master, and to consider it in O_DOWN
# (Objectively Down) state only if at least  sentinels agree.
#   Sentinel    master,     O_DOWN 
# (     O_DOWN)          quorum             。
# Note that whatever is the O_DOWN quorum, a Sentinel will require to
# be elected by the majority of the known Sentinels in order to
# start a failover, so no failover can be performed in minority.
#    ,  quorum    ,                 
#          ,                。
# Replicas are auto-discovered, so you don't need to specify replicas in
# any way. Sentinel itself will rewrite this configuration file adding
# the replicas using additional configuration options.
#         ,            。             
#                 。
# Also note that the configuration file is rewritten when a
# replica is promoted to master.
#                     
# Note: master name should not include special characters or spaces.
# The valid charset is A-z 0-9 and the three characters ".-_".
#    :                。       A-z 0-9     “.-_”。

4、その他の構成
  (1)、down-after-milliseconds、何ミリ秒を超えて1つのredisインスタンスと接続が切れたか、哨兵はこのredisインスタンスがそれからマスターがダウンして、4つのslaveのうち1つがマスターに切り替わって、残りの3つのslaveが新しいマスターの上に掛けなければなりません.この時、parallel-syncsが1であれば、3つのslaveが、1つずつ新しいマスターの上に掛けられて、1つが掛けられて、新しいマスターsyncからデータが終わってから、次が掛けられます.parallel-syncsが3であれば、一度にすべてのslaveを新しいmasterに接続します(3)、failover-timeout、フェイルオーバを実行するtimeoutタイムアウト時間が長くなります
5、パスワード権限の設定
# Set the password to use to authenticate with the master and replicas.
# Useful if there is a password set in the Redis instances to monitor.
#                     。
#       Redis        ,     
# Note that the master password is also used for replicas, so it is not
# possible to set a different password in masters and replicas instances
# if you want to be able to monitor these instances with Sentinel.
#   ,        ,                      
#               。
# However you can have Redis instances without the authentication enabled
# mixed with Redis instances requiring the authentication (as long as the
# password set is the same for all the instances requiring the password) as
# the AUTH command will have no effect in Redis instances with authentication
# switched off.
#                    Redis          Redis    (  
#            ,                Redis   ),AUTH       。
#   :sentinel auth-pass mymaster MySUPER--secret-0123passw0rd

  はredisに設定する.confで構成されたパスワード:前の文章は主従の構築を紹介しましたここでは紹介しません.前の文章を見る必要があります.
6、三つのサーバーのredisサービスを直接起動する
7、redisサービス起動のログを確認する
起動に成功し、ホストに接続
8、次にそれぞれ3人の歩哨を起動してホストから起動する
  下図より、ホストが172.16.178.2スレーブが172.16.178.3、172.16.178.4
9、3人の歩哨を起動する:成功に起動する
10、ホストのsentinelを表示する.conf配置から分かるように、この哨兵は2つの従機と配置されたホストを監視し、他の2つの哨兵を監視している.
11、同理他の2人の哨兵も2つの従機と配置のホストを監視しており、他の2人の哨兵も監視している.
12、配置された歩哨を接続する
13、infoコマンド入力
哨兵が1つのホストの2つの従機と3つの哨兵を監視しているのを見た.
14、故障訓練:
 1)、ホストのプロセスID 2)、kill-9 70817  この時点で現在ノードは哨兵のみである 3)、現在の哨兵を接続し、info を入力します.これは最小の哨兵配置です.master-slave障害移行が発生した場合、または新しい哨兵プロセスが哨兵クラスタに追加された場合、すると、歩哨は自動的に自分のプロファイルを更新します.このとき、ホストノードは172.16.178.4になりました. 4)、接続172.16.178.4のredis 現在のノードはホストノードで、172.16.178.3はスレーブノード 5)、再起動172.16.178.2ホスト上のredis 6)、このとき再度ホスト 7)、ホストsetの値 8)、1番スレーブgetホストで設定したkey 9)、2番スレーブgetホストで設定したkey
微信の公衆番号に注目して一緒に勉強してください:chengxuyuan 95(異なるプログラマー)