問題タブ [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.
mongodb - mongo: エラー: 子プロセスが失敗し、エラー番号 100 で終了しました
mongodb で 3 つのインスタンスのレプリカ セットを正常に作成しました。レプリカ セットの各メンバーは、構成ファイルを使用してインスタンス化されます。テストしたところ、すべてがうまくいき、エラーなしで正常に実行されました。
タイトルのエラーを生成している次のステップは、内部認証を有効にすることです。それを行うために、このページにあるmongoのドキュメントに従いました。
[a] https://docs.mongodb.com/v3.0/tutorial/enable-internal-authentication/
まず、以下の 2 行のコードを使用してキーファイルを生成しました
root にならないと実行できなかったので、root で実行しました。
次に、インスタンスの構成ファイル内にキーファイルを追加しました。
mongoを再び起動するために、私は毎回使用する次のコマンドを書きました
上記のエラーが発生しました。すべてがルートによって所有されていることを確認しました。dbpath、設定ファイル、およびキーファイル。
次に、すべてを通常のユーザーが所有するように切り替え、通常のユーザーとして (sudo なしで) mongod を起動しようとしました。同じエラーを受け取りました。
解決策は何だと思いますか?
php - MongoDB PHP クライアントがレプリカ セットの各メンバーへの接続を作成するのはなぜですか?
接続文字列に 2 つのサーバーを含むレプリカセットがあり、secondaryPreferred があります。セカンダリ サーバーのダウンタイムの場合、MongoDB がプライマリに自動的に接続するようにします。これは「通常の」ダウンタイムのケースではうまく機能しますが、MongoClient は常に両方のレプリカセット メンバーに接続しているようです。最初のセカンダリに最初に接続する場合でも、更新クエリにのみ必要なプライマリにも接続します。
問題は、プライマリに接続タイムアウトがある場合です。Web サイトは、セカンダリからサービスを提供し続ける前に、60 秒間接続を試みます。また、無駄なオーバーヘッドのようです。
私はそれをテストしませんでしたが、primaryPreferred と同じだと思います。
この動作を変更することは可能ですか?
構成:
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 回目の試行で、接続が機能し、アプリケーションのライフサイクル全体で機能し続けます。
誰かが最初の接続で何がうまくいかないのか知っていますか?
php - mongoレプリカセットでのphp接続エラー
EC2 に 3 つのインスタンスがあり、それぞれがエラスティック IP を持ち、それぞれが mongo バージョン 3.2 を実行しています。すべてがタイプ名によって設定されたレプリカにあります。mongod.conf の bind_ip 設定は、IP 0.0.0.0 で構成されています。
PHP経由でmongoに接続しようとしています。拡張機能mongodbとlibraryを既にインストールしています。
これらはすべて同じポートにあり、プライマリ 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」への接続に失敗しました: 接続がタイムアウトしました]
このエラーを修正するにはどうすればよいですか? モンゴに接続しますか?