問題タブ [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.

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

mongodb - mongodb でのシャーディングとレプリケーション

まず、私は mongoDB の初心者なので、しばらくお待ちください。私は Windows を使用しており、4 つのコレクションを含む単純なデータベースを作成しました。mongoDB を扱っているときは、最初mongod.exe --dbpath "Path To Data Folder"に端末で: を実行し、次に を使用して mongod に接続しmongo.exeます。私がすべきことは、分散クエリをサポートするために、データベースとそのコレクションをシャードとレプリカ セットに分散することです。

のようなコマンドを使用しようとしましsh.enableSharding("DATABASE NAME")たが、うまくいきませんでした。次に、mongod の代わりに mongos を実行する必要があることがわかったので、これに従いました: MongoDB でのシャーディングですが、残念ながら成功しませんでした。私もいくつかの調査を行いましたが、シャーディングとレプリケーションに関する要点ガイドが不足しているようです。ですから、正しい方向に向けていただければ、本当に感謝しています。

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

php - MongoDB replicaSet への接続時に使用されている実際のノードを取得する

mongoDBレプリカ セットからデータをクエリしています。クエリにはかなりの時間がかかります。データが間違ったノードから読み取られていないことを確認したいと思います。

特定のクエリに使用されている実際のノードを取得することは可能ですか?

クライアントを使用していPHP mongoDBます。

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

mongodb - レプリカ セットの mongoimport コマンドには、アービターを含むすべてのレプリカ セット メンバーが必要ですか?

MongoDB 2.6.2 を実行しており、プライマリ、セカンダリ、およびアービターを含むレプリカ セットがあります。1 つまたは 2 つのレプリカ セット メンバーのみを使用して mongoimport コマンドを実行すると、悪影響はありますか?

具体的には、mongoimport コマンドの --host オプションでアービターを指定する必要がありますか? ドキュメントには、ホスト名の形式 ( here ) が明確に記載されていますが、指定する必要があるメンバーの数については警告されていません。

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

mongodb - ロール ユーザーの更新: コマンドを実行する権限が管理者にありません

レプリカに関する情報を取得しようとすると、次のエラーが表示されます。

次の 2 人のユーザーでコマンドを実行しようとしました。

レプリカをclusterAdmin操作する役割がありますが、ローカル データベースを読み取るように mongoadmin の役割を更新しようとしましたが (すべての役割が管理データベースで付与されているため)、次のエラーが発生します。

  • clusterAdminロールに加えてすべてのレプリカ コマンドへのフル アクセスを取得するには、何が必要でしょうか?
  • 両方のユーザーのいずれかが admin db (mongoadmin は dbOwner) で権限を持っている場合、更新コマンドの権限がないのはなぜですか?
0 投票する
1 に答える
117 参照

php - PHPクライアントを使用したMongodbレプリカセット、ノード間の接続を回避

2 つのノードを持つ Mongodb レプリカセットがあり、それぞれが異なる国の異なる CPD に配置されています。

両方のノード間のレイテンシーは測定可能です。データの書き込みはオフライン プロセスを使用して 1 日 1 回行われるため、これは問題ではありません。

しかし、読み取り時には、各リクエストでノードがそれらの間の接続を確立します。これにはかなりの時間がかかり、リクエストが遅くなり、ネットワーク上で問題が発生します。

プライマリ ノードとセカンダリ ノードの間で最大 700 の接続が開いていることがわかりました。

いくつかの接続、接続文字列、および readPreference 設定を試しましたが、これは常に発生します。

各リクエストでノード間で接続が行われないようにする方法はありますか? ノード間がそれほど近くない場合、人々はこの問題にどのように対処しますか?

編集:

テスト スクリプトを繰り返し実行すると、非常に高速になることがあります。MongoLog の詳細にこれが表示されます。

3 つのタイマーのいずれかが 0 に達すると、接続が確立されます。3 つのチェックの間隔を増やすことができるようですね。

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

mongodb - ConnectionPool::PoolShuttingDownError は、Mongodb replicaSet を使用して application_controller レールによって時々スローされます

2 つの異なるサーバーで RoR アプリケーションを実行しています。同じバージョンのアプリを実行し、構成も似ています。任意のサーバーとして 3 番目のサーバーと両方のサーバーで実行されている Mongodb レプリカ セットがあります。

すべてが正常に動作します。データは完全に同期しています。しかし、2 週間実行した後、サーバーの 1 つが ConnectionPool::PoolShuttingDownError を返し始めました。ログを確認したところ、アプリケーション コントローラーでエラーが発生したことがわかります。どのサーバーのコードも変更しませんでした。

エラーを発生させているサーバーは、6 ~ 7 の同時リクエストを取得するまで問題ありません。または、ページを 6 ~ 7 回まとめて更新した場合。このエラーが 1 回発生し、再度ページを更新すると、通常の状態に戻ります。これは奇妙で、なぜあるサーバーにはこの問題があり、他のサーバーには問題がないのか理解できません。

Moped、Rails 4.1.0、および Ruby 2.1.5 で Mongoid を使用しています。また、約 51158 である db.serverStatus().connections を使用して利用可能な接続を確認し、最大プロセスの ulimit は 257185 です。

よく検索しましたが、この問題の原因はまだわかりません。誰かがこの問題に光を当てることができれば、それは素晴らしいことです. どんな助けでも大歓迎です。前もって感謝します。

0 投票する
2 に答える
1030 参照

mongodb - レプリカ セット モードの場合、MongoDB の挿入が遅くなる

私はMongoDB 2.4.5を実行していますが、最近、ある種の冗長性を得るためにレプリカセットを掘り下げ始めました。

--replSetパラメーターを使用して同じ mongo インスタンスを開始し、実行中のレプリカ セットにアービターも追加しました。何が起こったのかというと、mongo への書き込み速度が大幅に低下しました (15 ミリ秒から 30 ~ 60 ミリ秒、場合によっては 300 ミリ秒程度)。非レプリカセットモードで再起動するとすぐに、パフォーマンスが正常に戻りました。

また、MongoDB の最新バージョン 3.0 をデータなしでセットアップし、以前と同じテスターを実行したところ、結果は非常に似ていました。ReplicaSet モードの実行中は、書き込みが少なくとも 50% 遅くなりました。

このような動作の例をオンラインで見つけることができなかったので、mongo の構成または OS の構成に何か問題があると思います。

何か案は?手伝ってくれてありがとう。

0 投票する
4 に答える
11855 参照

mongodb - mongodb : 同期元のメンバーが見つかりませんでした

私はmongodbでかなり新しいです

レプリカセットがあります 3 ノード 1 プライマリ (A) 1 セカンダリ (B) 1 アービター (C)

レプリカ セットは、3 つのノードが 3 つの異なる都市にある MMS を使用して作成されました

毎回1秒以上続くセカンダリで次のエラーが発生し続けます

  1. それは正常ですか
  2. それを修正する方法がわからない場合

    /li>

ありがとうございました

よろしく

フィリップ・クルトワ

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

mongodb - 2 つのアベイラビリティーゾーンのみを使用して EC2 US-WEST で MongoDB レプリカセットをセットアップする方法

us-west-1リージョンのAmazon EC2MongoDB レプリカ セットをセットアップしています。

ただし、このリージョンには 2 つのアベイラビリティーゾーンしかありません。私の理解では、MongoDB が正しく動作するには過半数が必要です。ゾーンに2 台のサーバーを作成し、このゾーンus-west-1bに 1 台のサーバーを作成すると、全体がダウンしたus-west-1c場合に高可用性が提供されません。us-west-1bこれはどのように可能ですか?推奨される構成は何ですか?