問題タブ [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.
redis - マスター/スレーブと同じサーバーにRedisセンチネル?
私は Redis Sentinel の使用方法についていくつか読んでおり、2 つ以上の Sentinel を使用して、クライアント側から呼び出すときにそれらの間で負荷を分散できることを知っています。
マスター + スレーブと同じサーバーにこれら 2 つのセンチネルを配置するのは良い方法ですか? つまり、マスターと同じ物理サーバーに 1 つのセンチネルを持ち、スレーブと同じ物理サーバーに別のセンチネルを持っていますか?
マスターサーバーが停止した場合、スレーブのセンチネルは単にスレーブをマスターに昇格させるように思えます。スレーブサーバーが停止しても、マスターがまだ稼働しているため問題ありません。
何か不足していますか?欠点は何ですか?
むしろ、待機時間を短縮するために、センチネルをマスター/スレーブと同じ物理サーバーに配置します。
redis - JedisCluster を使用して Redis ノードの自動フェイルオーバーと自動検出を実現する方法はありますか?
私は Redis 用の Jedis Java クライアントを使用しましたが、これは素晴らしいものです。クラスタリング (JedisCluster) と高可用性 (JedisSentinelPool) の機能を別々に使用しました。
両方の実装は単独で魅力的に機能しますが、両方を一緒に使用する方法ではないようです。
フェールオーバー時の自動スレーブ昇格と、マスターに障害が発生したときの他のマスターの自動検出を備えた高可用性が必要です (センチネルのように)。Redis-cluster が自動フェイルオーバーを行い、トポロジーのある種の自動検出も提供することを知っています。しかし、Jedis-Cluster は、自動フェイルオーバーを処理し、Jedis クラスターを最大限に活用する方法を提供していないようです。
JedisClient で自動フェイルオーバーを実現する方法はありますか?
JedisSentinel と JedisCluster を一緒に使用できますか?
一部の投稿では、これは不可能であることが示唆されています: https://groups.google.com/forum/#!topic/jedis_redis/HtDblX771bs
このトピックに関する Jedis git のドキュメントは限られています。
redis - Openshift での Redis マスターのフェイルオーバー
カートリッジを取り付けhttp://rediscart-claytondev.rhcloud.com/build/manifest/redis-2.8
て、3 ギアにスケーリングしました。はREDIS_SENTINEL_QUORUM
それぞれ 2 に設定されています。から変更した後、センチネルは正常に起動しています~/redis/bin/control
:
に:
さて、カートリッジを再起動した後、マスターを強制終了するまで問題ないようです。奴隷はそこに座って、最後にそれを見たときから秒数を数えています...彼らの(そのうちの1人の)ログには次のように書かれています:
アップデート:
リクエストに応じて、構成を含めます (すべてのコメントは削除されています):
REDIS 54edcc79ca2895e4a300021f
REDIS 54edac2cca2895e4a30001cd
REDIS 54edac43ca2895e4a30001e5
センチネル 54edcc79ca2895e4a300021f
センチネル 54edac2cca2895e4a30001cd
センチネル 54edac43ca2895e4a30001e5
redis - 既存のマスター/スレーブ Redis に Redis センチネルを追加する方法は?
これが私の状況です: 既存のマスター/スレーブ Redis アーキテクチャ (2 つの異なるサーバー) があります。
自動フェールオーバーを使用できるように Redis Sentinel を追加したいのですが、本番環境でダウンタイムを発生させたくありません。Sentinel はマスターを知る必要がありますが、Redis を再起動して Sentinel を開始できるようにする (つまり、マスターとスレーブを切り替える) 必要があるため、ダウンタイムなしでそれを行うにはどうすればよいでしょうか?
php - Redis センチネルの実装
2 つのphp サーバーマスター/スレーブとして実行されて
いる 2 つの redis サーバー
1 つのログ サーバー (すべての種類のログを elastcisearch に保存)
Redis サーバーの自動フェイルオーバーを実装したいと考えています。現在、php サーバーでは redis マスター アドレスがハードコードされています。
また、マスターからの redis 入力を含む logstash インスタンスを持つログ サーバーでは、logstash 構成でもハードコーディングされます。
両方の redis サーバーに redis センチネルをインストールしましたが、正常に動作しています。
しかし、問題はphpとlogstashでマスターを取得する方法であるか、それが正しい方法ではありません.
PHPの場合、このクライアントラッパーを見つけましたhttps://github.com/Sparkcentral/PSRedis
しかし、logstash については何も見つかりませんでした。間違った方向に検索しているだけだと思います
したがって、問題は、誰かが私にそれを指摘できない場合、これが正しい方向であるかどうかです.
redis - Redis Sentinel - 構成値を取得するには?
実行中の Redis センチネルの maxclients の数を見つけたいです。Sentinel の .conf ファイルに構成が設定されていないため、現在の値を調べたいと考えています。
ただし、redis-cli -p 26379 経由で接続して「config get maxclients」と入力すると、そのようなコマンドがないことがわかります。ただし、実際の Redis インスタンスに接続すると機能します。
redis sentinel の maxclients 値を取得するにはどうすればよいですか?