問題タブ [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 投票する
2 に答える
980 参照

mongodb - モンゴスは本物ではないアイテムを数えますか?

mongos インスタンスで count() 関数の奇妙な動作があります。タグ オブジェクトを配列に変換する必要があったため、1 時間以上前に投稿コレクションの約 8,000 項目を更新しました。

今、mongosに次のクエリを実行すると:

RS が同期されている場合でも、count() が 4139 個のアイテムを表示し、findOne が null 値を返すのはなぜですか?

編集: 4 つの RS があります (すべて同期)。また、すべての PRIMARIES で同じカウント クエリを実行しましたが、結果は常に 0 です。mongos をカウントした場合にのみ、結果は 4139 になります。

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

mongodb - MongoDB レプリカ セットのセットアップの問題

MongoDB レプリカ セットをゼロからセットアップしようとして、非常にフラストレーションを感じています。これは MongoDB (2.4.6) での私の最初の実行であり、理解不足なのかドキュメントが貧弱なのかわかりません。これが私が取り組んでいるものです:

-VPC 内の Amazon EC2 Ubuntu 12.04 LTS インスタンス -NodeA 10.0.1.152 -NodeB 10.0.1.153

彼らはお互いにうまく通信できます。これらのサーバーはゼロから作成されたばかりなので、ファイアウォール ルールはありません。私のホストファイル:

10.0.1.152 mongodb0 10.0.1.153 mongodb1 10.0.1.226 mongodb2 #これはアービターですが、現時点では気にしません

NodeA の私の conf

NodeB の私の conf

NodeA で、プロセスを開始します。

エラーメッセージは次のとおりです。

また、レプリカで mongo プロセスを実行しました。初期化すると、自分自身もプライマリと呼んでいます。

NodeB で - NodeA からのすべてのトラフィックで TCPDUMP を実行しました。初期化すると、何も表示されません。前述したように、ファイアウォール ルールはなく、目的のために NodeA からのすべてを許可するように追加しました。

私は何を間違っていますか?!?!?!?!?!?

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

mongodb - MongoDB - clusterAdmin ロールなしで dbs を表示し、ログを表示する

clusterAdmin ロールを付与せずに、MongoDB レプリカ セットのユーザーに「show dbs」と「show log」を使用できるようにする方法はありますか?

さまざまなユーザー インターフェイス (robomongo など) は、接続時にデータベースの一覧を表示します。「データベースを表示」する機能がなければ、データベースはリストされません。

ありがとうございました!

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

php - レプリカセットの特定の mongodb セカンダリに対して php から db.currentOp() を実行するにはどうすればよいですか?

db.currentOp()現在実行中のクエリを確認するために、mongodb ReplicaSet のさまざまなメンバーに対してコマンドを実行しようとしています。

私がデータを取得するのはマスターだけで、すべてのセカンダリは次のように応答します。

テストコード:

Mongo シェルを使用してセカンダリに接続するとdb.currentOP()、問題なくシェルで実行できます。

RoboMongo ( http://robomongo.org/ ) を使用してセカンダリに接続するとdb.currentOP()、問題なくシェルで実行できます。

MongoVue ( http://www.mongovue.com/ ) を使用してセカンダリに接続すると、サーバー ページで実行中のクエリを確認できます。

それで、私は何か間違ったことをしていますか、それともphpでセカンダリに対してこのコマンドを実行することはサポートされていませんか?

他の言語のように見えるため、セカンダリからデータを取得することが可能です。

これを何らかの形でphpから実行するためのヒントをいただければ幸いです。

テスト環境

MongoDB サーバー: 2.2.2 (プライマリ 1 つ、セカンダリ 2 つの ReplicaSet)

PHP: 5.4.9 / 5.3.5

MongoDB PHP ドライバー: 1.4.4 / 1.3.0 on ubuntu 13.04 / debian

解決: