別のマシンからmongoインスタンスにアクセスしようとしていますが、このエラーが発生します。このwhatsmyuri
エラーへの言及は多くありませんでした。これは私が外部マシンから取得するものです:
$ mongo <IP_ADDRESS>:27017/youtube_advertising -u user -p password
MongoDB Shell version: 3.2.0
connecting to: <IP_ADDRESS>:27017/youtube_advertising
2016-02-19T17:10:02.923+0100 E QUERY [thread1] Error: network error while attempting to run command 'whatsmyuri' on Host '<IP_ADDRESS>:27017' :
connect@src/mongo/Shell/mongo.js:226:14
@(connect):1:6
exception: connect failed
私はすでに/etc/mongod.conf
ファイルを変更し、ポート27017
(iptables
を使用)を介して接続を開き、mongoを再起動しました。 ssh
を介してそのマシンに接続できます。
このwhatsmyuri
を検索して、mongoで次のコマンドを実行しました。
> db.runCommand( { whatsmyuri: 1 } )
{ "you" : "127.0.0.1:36990", "ok" : 1 }
その36990
ポートが正しいか間違っているかはわかりません。念のためここからも接続を開いたが、まだ何もない。
何か案は?
/var/log/mongodb/mongod.log
を確認すると、リモートから接続しようとすると次のようになります。
2016-02-19T10:41:07.292-0600 I NETWORK [initandlisten] connection accepted from <EXT_IP_ADDRESS>:51800 #2 (1 connection now open)
2016-02-19T10:41:07.310-0600 I QUERY [conn2] operation isn't supported: 2010
2016-02-19T10:41:07.310-0600 I - [conn2] Assertion: 16141:cannot translate opcode 2010
バージョンを確認してください。それが役立つかもしれません。
私も同じ問題を抱えていました。私の場合、サーバーはバージョン3.2.0-rc2でしたが、mongo Shellのバージョンは3.2.1でした。
サーバーを3.2.1にアップグレードすると、問題が修正されました。
この問題は、同じWindows 10マシンでMongoDBの2つのバージョン(3.4と4.2)を実行していたときに私に噛み付きました。コンソール出力で問題なく言及されたv3.4 mongodを実行しましたが、v3.4 mongo Shellを実行すると上記のエラーが発生しました。タスクマネージャーを確認すると、MongoDBプロセスが実行されていることがわかりました(わかりませんが、v4.2の場合だと思います)。タスクマネージャーを介してそのプロセスを終了した後、v3.4 mongoシェルはエラーなしで問題なく実行されました。