Redis Sentinel の詳細な紹介

无忌哥哥
リリース: 2023-04-03 06:40:02
オリジナル
3313 人が閲覧しました

ディレクトリ

  • redis マスター/スレーブ レプリケーションの構成

    • #ping コマンドを使用して、開始されているかどうかを確認します

    • マスター ノードのリンク情報の表示

  • センチネル ノードのデプロイの開始

  • センチネルのデプロイ

  • #sentinel の開始

  • ##フェイルオーバーのデモンストレーション
  • sentinel によって現在監視されているノード情報の表示
    • redis のメイン ノードを中断する
    • redis のメイン ノードが変更されたかどうかを確認する
    • これこれでセンチネルの紹介は終わりです。不十分な修正は歓迎します。
    • Redis マスター/スレーブ レプリケーションの構成

1 つのマスター ノード (ポート 6379)、2 つのスレーブ ノード (ポート 6380、6381)、なし構成については、Redis マスター/スレーブ レプリケーションに関する私の以前の記事を参照してください。

ping コマンドを使用して起動しているかどうかを確認します

redis-cli -h 127.0.0.1 -p 6379 ping

以下のように、PONG を返して起動していることを確認します。 3 つの Redis サービスがすべて開始されていること 起動が完了したこと

1 つのマスター ノード:


2 つのスレーブ ノード:Redis Sentinel の詳細な紹介


Redis Sentinel の詳細な紹介

マスター ノードのリンク情報を表示しますRedis Sentinel の詳細な紹介

查看6379的连接信息
命令:info replication
可以发现6379的角色是master,有两个从节点,也就是端口为6380,6381的从节点(redis)
ログイン後にコピー

#
同样在6380 从节点中,该节点的角色是slave(从节点),与主节点的连接状态为up(master_link_status),通过这个命令可以方便的查看各个节点的连接状态等信息。
ログイン後にコピー

#

除了用info replication命令外,如下命令也可以快速查看链接信息
redis-cli -h 127.0.0.1 -p 6381 info replication
看个人喜好用哪个命令。
ログイン後にコピー
Redis Sentinel の詳細な紹介

# #センチネル ノードのデプロイを開始しますRedis Sentinel の詳細な紹介

センチネル ノードのデプロイメントを通じて、redis マスター/スレーブ リセットの可用性を高めることができます。では、センチネルの用途は何ですか? 文字通りの意味から、センチネルは「番兵」を意味します。は、redis ノードを監視します。 、sentinel が監視する redis ノードがマスターノードです。 Sentinel にはフェイルオーバーの機能があります。フェイルオーバーとは何ですか? Sentinel によって監視されている Redis ノードが予期せず中断された場合、Sentinel はスレーブ ノードの役割を持つ Redis をマスター ノードとして自動的に選択し、その後のマスターとスレーブのレプリケーション関係を維持し、正しいマスターとスレーブのレプリケーション関係を確保します。元のスレーブ ノードは依然としてスレーブです。ノードですが、そのマスター ノードは、新しくアップグレードされたマスター ノードの Redis サービスになります。歩哨の構築を段階的に始めてみましょう。 Redis Sentinel の詳細な紹介

センチネルの展開

进入安装redis的目录下的配置目录,我的本地是/etc/redis
ログイン後にコピー

我这边就直接使用原本的sentinel.conf配置,来作为第一个sentinel节点。我们可以进入sentinel.conf配置看下里面到底有啥配置信息:
sentinel monitor mymaster 127.0.0.1 6379 2 //监控的主节点IP和端口,其中mymaster是该节点的别名,2表示判断主节点失败至少需要两个节点同意
sentinel down-after-milliseconds mymaster 30000  //通过ping命令,各个sentinel节点向redis节点是否可达,超过30000毫秒,就判定不可达
sentinel failover-timeout mymaster 180000 //故障转移超时时间为180000毫秒
如果还有其它的配置,可以自己在探索下
ログイン後にコピー
センチネルの開始

启动命令:
sudo redis-sentinel sentinel.conf --sentinel
ログイン後にコピー

Redis Sentinel の詳細な紹介

查看sentinel启动情况
redis-cli -h 127.0.0.1 -p 26379 INFO Sentinel
可以看出与查看redis启动的情况命令类似,截图中可以看到此时sentinel监控redis节点是端口为6379的服务,6379有两个从节点,状态为OK,别名是mymaster
ログイン後にコピー

继续再配置两个sentinel节点,
sudo cp sentinel.conf  sentinel2.conf 
sudo cp sentinel.conf  sentinel3.conf 
修改两个配置的端口为26380, 26381,其它配置可以不用修改
修改完后,分别启动
sudo redis-sentinel sentinel2.conf --sentinel
sudo redis-sentinel sentinel3.conf --sentinel
ログイン後にコピー

Redis Sentinel の詳細な紹介

启动后再次查看sentinel.conf的配置,可以发现配置中多了两个从节点的信息,截图如下:
ログイン後にコピー

Redis Sentinel の詳細な紹介

Redis Sentinel の詳細な紹介

##デモ フェイルオーバー

Redis Sentinel の詳細な紹介現在のセンチネル監視ノード情報の表示

查看26379端口的Sentinel节点监控的主节点信息
ログイン後にコピー

Redis Sentinel の詳細な紹介

查看目前redis的进程ps -ef | grep redis
ログイン後にコピー

Redis マスター ノードの中断

之前我们sentinel监控的主节点是6379这个端口,这时候我们kill这个端口的进程,或者使用shutdown命令:
redis-cli -h 127.0.0.1 -p 6379 shutdown
过了30秒之后查看26379端口的Sentinel节点监控的主节点信息,发现主节点信息变成了6380端口的redis(之前的从节点)
ログイン後にコピー
Redis Sentinel の詳細な紹介

Redis Sentinel の詳細な紹介メイン ノードかどうかの確認Redis の変更の数

验证6380端口的redis变成主节点,此时我们在6380 的redis上设置一个key值,在6381端口的redis上验证是否能获取到该key值
ログイン後にコピー

此时发现,6380变成了主节点,6381从节点没有变化,还是从节点。
下面我再次启动6379端口的redis
ログイン後にコピー
Redis Sentinel の詳細な紹介

发现原先的主节点6379已经变成了从节点,而它的主节点变成了6380。此时我们再回过头看下26379的监控节点变化,还是6380端口。
ログイン後にコピー

Redis Sentinel の詳細な紹介

Redis Sentinel の詳細な紹介ここまでの監視員導入用ですので、欠点があれば修正していただければ幸いです。

以上がRedis Sentinel の詳細な紹介の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート