問題タブ [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 に答える
180 参照

redis - Spring XD 分散モードの redis 構成

Spring XD を分散モードで構成しようとしていますが、残念ながら構成できませんでした。redis を使用してモジュール間チャネルをバックアップしようとしていますが、3 ノードの redis 3.0 クラスターを実行しています。

構成に対する私の変更を以下に示します。何か不足している場合や、Spring インスタンスを分散モードで実行するために他に何かする必要がある場合はお知らせください。

xd-containerのservers.ymlファイルは次のように構成されています

この構成で xd-container を実行すると、ここに示すようなエラー スタック トレースが表示されます

Sentinel、sentinel:master、sentinel:nodes を削除すると、コンテナーは正常に開始されますが、一部のストリームがデプロイされると失敗します。エラー ログは次のようになります。

しかし、JedisCluster を使用して Java から接続しようとすると、私の redis クラスターにはまったく問題はありません。

この構成で何か不足していますか? ご意見やご感想はありますか?

前もって感謝します。

0 投票する
3 に答える
3921 参照

kubernetes - Kubernetes で redis センチネル クラスターを作成します。redis マスターはスレーブのオリジン IP を取得できません

K8s の例を使用して、信頼性が高くスケーラブルな Redis を Kubernetes 上に作成します。 https://github.com/kubernetes/kubernetes/tree/master/examples/redis

Redis マスターはスレーブに元の IP を取得し、センチネルに登録する必要があります。Sentinel は、マスターに障害が発生したときにマスターを切り替えるために使用します。

しかし、私の docker はフラグ iptables=false (SNAT のような iptables を作成します) なしで起動するため、redis スレーブ ソース IP は SNAT になり、マスターは 172.16.103.0 のような flannel0 の IP を取得します。

また、ノード間のコンテナー接続にフランネル ネットワークを追加します。

したがって、問題は、「iptables フラグを削除せずにソース IP を取得する方法、または信頼できる redis クラスターを作成する別の方法はありますか」ということです。

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

redis - redis の構成コマンドの名前を変更した後、Sentinel の作業が失敗する

最も安定したredis(ver 3.2)をインストールしました。redisのCONFIGコマンドの名前を変更するまで、すべて正常に動作し、センチネルはスレーブをマスターに昇格できませんでした。問題は、センチネルがまだ CONFIG コマンド (名前が変更されています) を使用して redis の構成を変更していることだと考えてください。センチネルの構成を (redis-cli または構成ファイル sentinel.conf を介して) 変更して、redis 構成を適応させる方法はありますか (config コマンドの名前が変更されました)。無い場合はソースコードを変更してみてはいかがでしょうか?

ありがとう

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

redis - Redis レプリカ セット、Celery のフェイルオーバー

私たちはフラスコアプリケーションを実行しており、重い処理はすべてセロリで行っています。Amazon の redis インスタンスをメッセージ ブローカーとして使用します。障害が発生し、多くの痛みと出血が発生したため、フェイルオーバー戦略を検討しています。

私たちに最初に現れたプロジェクトは Celery Sentinel でした。https://github.com/dealertrack/celery-redis-sentinel これはフェイルオーバー機能を提供するものでしょうか?

いくつかのテストを行っていますが、期待どおりに機能していないようです。

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

php - PHP predis が Redis Sentinel に接続

文書化されたコードを使用して、サーバーpredisへの新しい PHP 接続をセットアップしました。正常に接続されていることを確認できますが、接続が存在するかどうかを簡単にテストする方法がわかりません。redis

実際に読み書きする以外に接続が良好かどうかをテストする方法はありますか? isConnected()動作していないようです。

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

redis - multi az netsplit 後の 2 つのマスターを持つ Redis Sentinel

こんにちは、スタック コミュニティです。

特定の問題ケースの Redis センチネルについて質問があります。マルチ AZ で AWS を使用して、sensu クラスターを作成します。

eu-central-1a には、sensu+redis(M)、RBMQ+Sentinel、およびその他の 2 つの Sentinel があります。eu-central-1b でも同じですが、この AZ では redis が私のスレーブです。

問題が発生し、eu-central-1a が eu-central-1b と通信できない場合はどうなりますか? 私が思うに、eu-central-1b の Sentinel は私の redis スレーブをマスターに昇格させる必要があります。なぜなら、彼は私の redis マスターに連絡できないからです。したがって、2 つの異なる AZ で 2 つの redis マスターを一緒に実行する必要があります。

しかし、AZ 間でリンクが取得されると、2 つの異なるデータを持つ 2 つのマスターがまだ存在します。この場合はどうなりますか?1 つのマスターがスレーブになり、データが失われることなく複製されますか? マスターを再起動する必要がありますか?マスターはスレーブになりますか?