問題タブ [mongodb-replica-set]

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 に答える
6000 参照

mongodb - mongo: エラー: 子プロセスが失敗し、エラー番号 100 で終了しました

mongodb で 3 つのインスタンスのレプリカ セットを正常に作成しました。レプリカ セットの各メンバーは、構成ファイルを使用してインスタンス化されます。テストしたところ、すべてがうまくいき、エラーなしで正常に実行されました。

タイトルのエラーを生成している次のステップは、内部認証を有効にすることです。それを行うために、このページにあるmongoのドキュメントに従いました。

[a] https://docs.mongodb.com/v3.0/tutorial/enable-internal-authentication/

まず、以下の 2 行のコードを使用してキーファイルを生成しました

root にならないと実行できなかったので、root で実行しました。

次に、インスタンスの構成ファイル内にキーファイルを追加しました。

mongoを再び起動するために、私は毎回使用する次のコマンドを書きました

上記のエラーが発生しました。すべてがルートによって所有されていることを確認しました。dbpath、設定ファイル、およびキーファイル。

次に、すべてを通常のユーザーが所有するように切り替え、通常のユーザーとして (sudo なしで) mongod を起動しようとしました。同じエラーを受け取りました。

解決策は何だと思いますか?

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

php - MongoDB PHP クライアントがレプリカ セットの各メンバーへの接続を作成するのはなぜですか?

接続文字列に 2 つのサーバーを含むレプリカセットがあり、secondaryPreferred があります。セカンダリ サーバーのダウンタイムの場合、MongoDB がプライマリに自動的に接続するようにします。これは「通常の」ダウンタイムのケースではうまく機能しますが、MongoClient は常に両方のレプリカセット メンバーに接続しているようです。最初のセカンダリに最初に接続する場合でも、更新クエリにのみ必要なプライマリにも接続します。

問題は、プライマリに接続タイムアウトがある場合です。Web サイトは、セカンダリからサービスを提供し続ける前に、60 秒間接続を試みます。また、無駄なオーバーヘッドのようです。

私はそれをテストしませんでしたが、primaryPreferred と同じだと思います。

この動作を変更することは可能ですか?

構成:

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

c# - MongoDB 3.2 への接続タイムアウト

.NET ドライバー バージョン 2.2.4 (.NET 4.5 を使用するアプリケーション) を使用して MongoDB バージョン 3.2 に接続していますが、タイムアウト例外が発生します。

シナリオの詳細: 2 つのサーバーを持つ ReplicaSet があり、サーバーの 1 つにはポート 27018 で実行されているアービターもあります。

接続しているアプリケーションは、Windows Server 2008 R2 を搭載した 2 つのサーバー (A と B) で実行されます。

サーバー A ではすべての接続と要求が完全に機能しますが、サーバー B では、最初の接続でタイムアウト例外がスローされ、次のエラー メッセージが表示されます。


CompositeServerSelector{ Selectors = ReadPreferenceServerSelector{
ReadPreference = { Mode = Primary, TagSets = [] } },
LatencyLimitingServerSelector{ AllowedLatencyRange = 00:00:01 } }を使用してサーバーを選択すると、30000 ミリ秒後にタイムアウトが発生しました。
クラスタ状態のクライアント ビューは { ClusterId : "5"、ConnectionMode :
"ReplicaSet"、Type : "ReplicaSet"、State : "Disconnected"、Servers :
[{ ServerId: "{ ClusterId : 5、EndPoint :
"Unspecified/serverA. domain:27017" }", EndPoint:
"Unspecified/serverA.domain:27017", State: "Disconnected", Type:
"Unknown" }, { ServerId: "{ ClusterId : 5, EndPoint:
"Unspecified/serverB.domain:
"Unspecified/serverB.domain:27017", State: "Disconnected", Type:
"Unknown" }] }.

2 回目の試行で、接続が機能し、アプリケーションのライフサイクル全体で機能し続けます。

誰かが最初の接続で何がうまくいかないのか知っていますか?

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

php - mongoレプリカセットでのphp接続エラー

EC2 に 3 つのインスタンスがあり、それぞれがエラスティック IP を持ち、それぞれが mongo バージョン 3.2 を実行しています。すべてがタイプ名によって設定されたレプリカにあります。mongod.conf の bind_ip 設定は、IP 0.0.0.0 で構成されています。

PHP経由でmongoに接続しようとしています。拡張機能mongodblibraryを既にインストールしています。

これらはすべて同じポートにあり、プライマリ IP は 52.67.34.1 です。

私の接続:

ただし、クエリまたは挿入を行うと、次のエラーが発生します。

致命的なエラー: キャッチされない例外 'MongoDB \ Driver \ Exception \ ConnectionTimeoutException' とメッセージ '適切なサーバーが見つかりません (serverselectiontryonce設定): ['52.67.34.1:27017' で ismaster を呼び出す接続エラー] ['52.67.77.2 で ismaster を呼び出す接続エラー: 27017'] ['52.67.30.3:27017' で ismaster を呼び出す接続エラー] ['172.31.1.1:27017' への接続に失敗しました: 接続タイムアウト] ['172.31.2.2:27017' への接続に失敗しました: 接続タイムアウト] [ 「172.31.3.3:27017」への接続に失敗しました: 接続がタイムアウトしました]

このエラーを修正するにはどうすればよいですか? モンゴに接続しますか?