アトラスにMongoDBクラスターをセットアップし、Compassと私が構築しているNodeJsアプリから約1週間接続することができました。今日、NodeJsアプリから以下の「一時的な」エラーが一貫して発生し始めました。
{MongoNetworkError:cluster0-shard-00-01-z4j9e.Azure.mongodb.net:27017への接続5がTLSSocketで閉じられました。 (/Users/ekkis/dev/tst/node_modules/mongodb-core/lib/connection/connection.js:276:9)at Object.onceWrapper(events.js:277:13)at TLSSocket.emit(events.js: 194:15)at _handle.close(net.js:610:12)at TCP.done(_tls_wrap.js:386:7)name: 'MongoNetworkError'、errorLabels:['TransientTransactionError']、
[Symbol(mongoErrorContextSymbol)]:{}}
コンパスは正常に動作しているようですが。時々とても遅いですが、うまくいきます。だから私はシェル(OSX上のv4.0.0)をインストールしようとし、これを得ました:
$ mongo "mongodb+srv://cluster0-z4j9e.Azure.mongodb.net/test" --username tst
MongoDBシェルバージョンv4.0.0パスワードを入力:接続先:mongodb + srv://cluster0-z4j9e.Azure.mongodb.net/test 2019-02-24T16:48:07.460-0800 I NETWORK [js]新しいレプリカセットモニターを開始していますCluster0-shard-0/cluster0-shard-00-00-z4j9e.Azure.mongodb.net。:27017、cluster0-shard-00-01-z4j9e.Azure.mongodb.net。:27017、cluster0-shard-00 -02-z4j9e.Azure.mongodb.net.:27017 2019-02-24T16:48:09.971-0800 W NETWORK [js]セットCluster0-shard-0のプライマリに到達できません2019-02-24T16:48:09.971- 0800 I NETWORK [js]セットCluster0-shard-0のノードに到達できません。ネットワーク接続とセットのステータスを確認してください。これは、1つのチェックが連続して発生しました。 2019-02-24T16:48:13.260-0800 Wネットワーク[js]セットCluster0-shard-0のプライマリに到達できません2019-02-24T16:48:13.260-0800 Iネットワーク[js]セットCluster0のノードに到達できません-shard-0。ネットワーク接続とセットのステータスを確認してください。これは続けて2つのチェックで発生しました。 2019-02-24T16:48:16.880-0800 Wネットワーク[js]セットCluster0-shard-0のプライマリに到達できません2019-02-24T16:48:16.880-0800 Iネットワーク[js]セットCluster0のノードに到達できません-shard-0。ネットワーク接続とセットのステータスを確認してください。これは、3つのチェックが連続して発生しました。 2019-02-24T16:48:22.303-0800 Wネットワーク[js]セットCluster0-shard-0のプライマリに到達できません2019-02-24T16:48:22.303-0800 Iネットワーク[js]セットCluster0のノードに到達できません-shard-0。ネットワーク接続とセットのステータスを確認してください。これは、4つのチェックが連続して発生しました。 2019-02-24T16:48:22.303-0800 E QUERY [js]エラー:接続はレプリカセットCluster0-shard-0/cluster0-shard-00-00-z4j9e.Azure.mongodb.net。:27017、cluster0-に失敗しましたshard-00-01-z4j9e.Azure.mongodb.net.:27017,cluster0-shard-00-02-z4j9e.Azure.mongodb.net.:27017:connect@src/mongo/Shell/mongo.js:251: 13 @(connect):1:6例外:接続に失敗しました
うまく動かないようです。クラスターを再作成する必要がありますか?トラブルシューティングのために他に何ができますか?
Linux MongoクライアントからMongoDB Atlasクラスターに接続しようとする同じ動作がありました。
この問題が発生した理由は、クライアントからクラスターへのバージョンの不一致に関連していました。 Mongoクライアントはv4.0.5上にあり、DBクラスターはv4.0.6上で実行されていました。
Mongoクライアントをバージョンv4.0.6に更新すると、問題が解決しました。
Node.jsアプリケーションの問題については、表示されているmongoクライアントの問題とは無関係であるか、バージョン管理にも関連している可能性があるため、使用しているデータベースコネクタに利用可能な更新があるかどうかを確認することをお勧めします。
編集:ノードアプリケーションから取得したエラーを少し詳しく説明するために、 このStackOverflowの質問 は、表示されている正確なエラーコードについて話しています。
IPが変更された可能性が高いため、新しいIPをホワイトリストに登録する必要があります:セキュリティ>ネットワークアクセス> IPアドレスの追加
無料の共有層クラスターを使用している場合、これらのクラスターの 操作の制限 に対して実行すると、この種の不可解な一時エラーが発生する可能性があります。ウェブUIでこれらをヒットしたかどうかを確認する簡単な方法はまだありませんが、メトリックを確認してください。ヒットしたかどうかを推測できます。