問題タブ [replicaset]
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.
mongodb - 1 つのプライマリ 2 つのセカンダリと 2 つのアービターは、フォールト トレランス 2 のレプリカ セットの正しいアーキテクチャですか?
フォールト トレランス 2 が必要ですが、そのために余分なサーバーを使用したくありません。各レプリカ セットに対して次の構成を使用する予定です。各mongodbX-Xは異なるサーバーです。
それが正しいか?同じ構成に関する議論が見つかりません。
django - レプリカセットでセカンダリインスタンスを使用するDjango mongoengine odm
私は、読み取り専用モードで動作する Django (mongoengine を使用) Web サイトと、その MongoDB (Django によって読み取られる) にデータを入力するオフライン python アプリを持っています。いくつかのロックの問題に直面して、セカンダリ インスタンスを Web サイト DB にできるので、レプリカセットが改善されることを発見しました。
最初に、セカンダリ インスタンス ホストへの接続を変更したところ、次のエラーが発生しました。
その後、登録された接続で解決しようとしましたが、成功せず、後で接続できるmongoengine 0.8.7にアップグレードしました:
しかし、ReadPreference.PRIMARY_PREFERRED または ReadPreference.SECONDARY_PREFERRED を使用すると、2 つの異なるエラー メッセージが表示されるようになりました...
PRIMARY_PREFERRED を使用すると、以下が返されます。
SECONDARY_PREFERRED を使用すると、次のようになります。
私はこのステップで立ち往生しており、mongoengine および/または mongodb 構成を介してその操作を許可する方法を探していますが、まだ解決策を見つけることができませんでした..何かアイデアはありますか?
前もって感謝します
mongodb - 書き込み懸念: 多数派で挿入する場合、MongoDb はセカンダリで読み取り操作をロックしますか?
MongoDbの現在の構成は次のとおりです。
- 1 つのプライマリ ( A )、2 つのセカンダリ ( BおよびC )、1 つのレプリカ セットのすべての部分
- プライマリへの挿入は write-concern で行われます: 多数派
- レプリカ セットからの読み取り時に読み取り設定が「最も近い」に設定されている
シナリオ:
- 挿入がトリガーされます。これは、レプリカ セット メンバーの大部分に伝播された後にのみ成功することを意味します。
- 書き込み操作が戻るまで、アプリケーションはプライマリから読み取ることができません (参照)
- 書き込みの懸念が「多数」に設定されているため、書き込み操作は、少なくとも 1 つのセカンダリ ( B ) インスタンスに伝播した後にのみ返されます。この場合、3 つのメンバーが設定されています。
- これは、複製しているため、セカンダリ ( B ) も読み取り用にロックされていることを意味します (これによると)
問題は、アプリケーションが最も近いインスタンスから読み取るように設定されているため、最も近いインスタンスがもう一方のセカンダリ ( C ) であるとしましょう。他の 2 つのインスタンスで書き込み操作がまだ進行中に読み取り要求が送信された場合、読み取りが許可されるかブロックされるか。許可される場合、どうすれば防止できますか?
mongodb - このシナリオで「secondaryPreferred」はどのように機能しますか?
1 つのプライマリと 2 つのセカンダリの 3 つのノードのレプリカ セットがあるとします。また、とが 1 つのデータ センターと別のデータ センターにあるとします。P
S1
S2
P
S1
DC1
S2
DC2
クライアントが にあり(つまり、および とDC1
同じデータ センターにある)、ダウンしているとします。クライアントのクエリはどこに行きますか? または?P
S1
S1
P
S2
mongodb - mongo - プリファレンス設計戦略を読む
mongo を使用したデータ ストレージの設計を任されているアプリケーションがあります。
アプリケーションの目標は、最新のデータ (古いデータがない) を最速の読み込み時間で提供することです。
アプリケーションの書き込み負荷が高く、データ サイズは数百万のオーダーです。
3 ノードのレプリカ セット (プライマリ 1 つ、セカンダリ 1 つ、アービター 1 つ) に与えられる読み取り戦略を選択する際に、読み取りのソースを決定するための 2 つの異なる戦略に出くわしました。
セカンダリから読み取り、プライマリの負荷を軽減します。を使用する
writeConcern = REPLICA_SAFE
と、プライマリとセカンダリの両方で書き込みが確実に行われます。読み取り設定を設定します。にsecondaryPreferred
。常にプライマリから読み取ります。ただし、読み取る前にデータがプライマリであることを確認してください。そう設定し
writeConcern= SAFE
ます。読み取り設定はデフォルト -primaryPreferred
です。
オプションの 1 つを選択する前に考慮すべきことは何ですか。
mongodb - レプリカ セットを使用した Mongodump : セカンダリを強制する方法は?
MongoDB レプリカ セットのバックアップに奇妙な問題があります。2 つのサーバー (1 つのプライマリと 1 つのセカンダリ) があり、2 時間ごとにバックアップ タスクを実行しています。
私はこれを使用します:mongodump.exe --db MyBase --out "d:\Backups"
しかし、このバックアップを実行すると、クライアント アプリケーション (c#) は次のようなエラーをスローします。
MongoDB.Driver.MongoConnectionException: 読み取り設定プライマリに一致するレプリカ セットのメンバーに接続できません
mongodump は、クライアント アプリケーションにこのような影響を与えることはないと思いました。というわけで。
セカンダリ サーバーのみでバックアップ操作を強制したいと考えています。どうすれば続行できますか?実行するコマンドは何ですか?
ご協力ありがとうございました。
mongodb - Mongodb Index On レプリカ セット メンバーはレポート用のみ
Mongodb を 1 つのプライマリ、1 つのセカンダリ、1 つの abiter としてセットアップしています。レポート目的でのみセカンダリのコレクションにインデックスを付けることは可能ですか?
mongodb - ReplicaSet の MongoDB 複数マスター
MongoDB を使用した replicaSet 内の複数のマスターに関する質問があります。私は次のレイアウトを持っています:
サーバー A --> MongoDB といくつかのアプリケーションを使用
サーバー B --> MongoDB といくつかのアプリケーションを使用
MongoDB の両方のインスタンスは、同じレプリカ セット (サーバー A がプライマリ、サーバー B がセカンダリ) に編成されています。しかし今、問題があります。どちらのデータベースにも、サーバー上のアプリケーションからのデータが含まれている必要があります。
サーバー A のデータをサーバー B の MongoDB で利用できるように、2 つのマスターを使用してレプリカ セットを展開することは可能ですか? その逆も可能ですか?
事前にどうもありがとうございました
mongodb - SSL 用の MongoDB replicaSet とレプリカ セット間の安全な通信の構成
現在、テスト環境に mondogDB をデプロイしています。7 メンバーのレプリカ セットがあり、アービターはありません。
これが可能かどうか、つまり、レプリカセットメンバー間で複製されるデータのみを構成することを確認したいだけですが、クライアントからこのMongoDBクラスターへの実際の通信は保護しません
_どうもありがとう