問題タブ [redis-sentinel]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
5910 参照

java - Redis Sentinel で @EnableRedisHttpSession 構成を修正する

複数のバックエンド Spring-Boot サーバーを備えた Spring Cloud ベースのアプリケーションがあります。サーバーはすべて @EnableRedisHttpSession を介して Redis サーバーとセッションを共有しています。

マスター/スレーブ構成と Redis Sentinel を使用してアプリケーションを構成しようとしています。私のセットアップは、1 つのマスター、2 つのスレーブ、および 3 つのセンチネルです。

私は環境に関する問題を抱え続けています。最初は、スレーブが読み取り専用であるというエラーが表示されました。そのため、すべてのスレーブを READWRITE に設定する必要がありました。その後、まだこのエラーが発生しました。スレーブがマスターに昇格したときに、古いマスターがスレーブになり、デフォルトの READONLY 設定になっていることがわかりました。そのため、マスターも READWRITE に設定する必要がありました。これらは、redis サーバーを起動するための私のコマンドです (同じマシンを使用しても意味がないことはわかっています。この段階ではテスト目的です)。

ブートマスター:

ブートスレーブ:

セッションに参加しているスプリング ブート サーバーごとの application.properties/yml 構成:

Redis センチネル構成:

conf ファイルは次のとおりです。

他の 2 つのセンチネルの場合は、ポート 5001 と 5002 です。

現在、すべてが正常で問題がない限り、すべて正常に動作します。

ただし、マスター redis サーバーを強制終了すると、動作が停止します。まず、次のエラーが表示されます。

さらに悪いことに、アプリケーションを再起動すると、動作も停止します。言うまでもなく実際のエラーはありませんが、アプリケーションは単に機能しません。たとえば、コンテンツを提供する代わりに、テキストだけ (javascript/css/images なし) のページを取得します。これは通常、使用する必要があるセッション ID が見つからないことを示しています。そして、これはログアウト後も発生します。

マスター サーバーを強制終了すると、redis Sentinel が構成ファイルを書き換えることに気付きました。たとえば、マスター redis サーバーを強制終了した後、sentinel.conf は次のように表示されます。

そして、これらの設定は、すべてのサーバー/redis ノードを再起動した後でもそのまま残ります。構成ファイルを手動で修正することによってのみ、アプリケーションを再び機能させることができます。

明らかに、現時点ではこのソリューションを使用できません。どんな助けでも大歓迎です。

完全なスタックトレースは次のとおりです。

また、センチネル ログの 1 つの出力を次に示します。

Redis マスターのログ (sigterm 通知付き) は次のとおりです。

2 つの Redis スレーブのログは次のとおりです。

2番:

ありがとう。

0 投票する
1 に答える
185 参照

redis - CONFIG コマンドの名前が変更された Redis を使用する Redis-Sentinel

CONFIGコマンドの名前が次のように変更されましたCONFIG_2267bccb973c432d96a26e96ca50860a

私が知っているように、Redis-sentinel はこのコマンドに依存しています。名前が変更されたコマンドを使用するように redis-sentinel を構成するにはどうすればよいですか?

0 投票する
1 に答える
746 参照

redis - Sentinel で Redis クラスターを実行する方法

通常、スケーリングと高可用性は異なる概念であるため (負荷分散のフォールト トレランス スキームを選択しない限り)、Redis が両方をサポートすることを望みました。しかし、私の理解では、Redis クラスターと Sentinel を混在させることはできませんか? その場合、複数のパーティションを持ち、Sentinel によって管理されるデプロイメントを作成するにはどうすればよいですか? これがどのように行われるかを説明するガイドはありますか?

0 投票する
1 に答える
285 参照

javascript - redis で JS オブジェクトを独自のイベント パラメータに渡す方法 - 接続イベントのセンティナル

redisセンチネルクライアントプログラム-最初のプログラムで、redisセンチネルオブジェクトを作成したままにしておき、 KEY を設定すると正常に動作します。しかし、2 番目のプログラムを観察すると、client.on('connect', runSample(client)); 私はクライアント オブジェクト ( redis sentinel client ) を渡しています。これは接続パラメーター runSample にあります。このため、次のエラーが発生します..

エラーの詳細

https://github.com/DocuSignDev/node-redis-sentinel-client/blob/master/index.js

最初の作業プログラム..

機能していない 2 番目のプログラム

ありがとう

0 投票する
1 に答える
3340 参照

redis - Redis Sentinel 構成が機能しない

2 つの redis ノードを使用してセンチネルをセットアップしようとしています。conf ファイルをインラインで見つけてください。

ポート 16371

dir "C:\Program Files\Redis\16371\"

ログレベル通知

ログファイル "C:\Program Files\Redis\logs\16371.log"

センチネル モニター ExampleMaster 127.0.0.1 6371 1

Sentinel down-after-milliseconds ExampleMaster 3000

センチネル フェイルオーバー タイムアウト ExampleMaster 6000

この構成でサーバーを実行しようとすると、次のエラーが発生します。

* FATAL CONFIG FILE ERROR * 構成ファイルの読み取り中、5 行目

誰かがこれを修正するのを手伝ってくれますか? ティア:)

0 投票する
1 に答える
677 参照

logstash - redisセンチネルを使用したlogstashは可能ですか?

高可用性 ELK 監視システムを redis で構築したいのですが、redis を HA にする方法に少し混乱しています。
Redis Sentinel は、Redis の高可用性を提供します。しかし、ドキュメントにはこれに関する構成が見つかりません。https://www.elastic.co/guide/en/logstash/current/plugins-inputs-redis.html では、logstash の入出力として使用できますか? 誰でもこれの経験がありますか?

0 投票する
0 に答える
780 参照

c# - Sentinel にサブスクライブして、アプリケーションのフェイルオーバー中に Redis マスター サーバー スイッチを監視する方法は?

私はこの答えをずっと探してきましたが、これを成功させる方法を示した人は誰もいません。そこで、C# の StackExchange / Sentinel を使用した Redis フェールオーバーからいくつかのコードを取得し、単純なコード ブロックを作成しました。

ここでFailover()は、アプリケーションの起動時にメソッドが呼び出されます。この方法では、現在のサーバーにデプロイされた Sentinel サーバーへの接続を作成するだけです。次に、Sentinel の「+switch-master」イベントにサブスクライブしようとします。イベント ハンドラーWriteToConsoleは、アプリケーションが実際にイベントをリッスンしていることを通知するだけの単純なメソッドです。

WriteToConsole最終的にはプレースホルダー メソッド内にロジックを追加して、新しいマスター Redis サーバーに切り替えることができるようにしたいと考えています。

しかし、この設定はうまくいきません。問題の Sentinel によって監視されているマスター Redis サーバーを停止しても、アプリケーションまたはコンソール ダイアログ ポップアップに何の影響も見られません。私は何を間違っていますか?私は正しい方向にいますか?