MongoDb接続が拒否されました
これは、MongoDBを使用する最初の試みです。 Mongoを実行しています:
ps -ef | grep [m]ongo
mongodb 11023 1 0 Jun24 ? 00:00:03 /usr/lib/mongodb/mongod --config /etc/mongodb.conf
そして、エラーは実行の結果として生じます
Datastore.save( stuff ); // (pseudo code)
エラー:
Jun 27, 2011 3:20:29 PM com.mongodb.DBTCPConnector fetchMaxBsonObjectSize WARNING: Exception determining maxBSON size using0 Java.io.IOException: couldn't connect to [russ-Elite-book/127.0.1.1:27017] bc:Java.net.ConnectException: Connection refused at com.mongodb.DBPort._open(DBPort.Java:206) at com.mongodb.DBPort.go(DBPort.Java:94) at com.mongodb.DBPort.go(DBPort.Java:75) at com.mongodb.DBPort.findOne(DBPort.Java:129) at com.mongodb.DBPort.runCommand(DBPort.Java:138) ...
接続に127.0.0.1:27017を使用していることに注意してください。これはMongo Shellで機能します。また、ブラウザでhttp://localhost:28017
を使用して管理ページを取得します。
ありとあらゆるアイデアに感謝します!
(自分の質問に答えるのは少し悪い形だと思いますが、実際には、答えは示唆されたもののどれでもないことが判明しました。正しくインストールされ動作しているソフトウェアに基づいています。私にはありませんでした。)
Ubuntu Software Centerを使用してMongoDBをインストールしました。この質問の他の箇所で述べたように、シェルとブラウザから機能しました。ただし、Java(またはDjangoいずれか))からは機能しませんでした。
この問題は、Javaスタックトレースで述べられていることにもかかわらず、単に「接続が拒否されました」でした。
解決策は、適切なMongoソースからインストールし、Ubuntuリポジトリを信頼しないことです
(はい、これはEclipseのような他の製品からも頻繁に起こりますが、あなたはそれがあなたがそれを信頼したい素晴らしいサービスであることを知っています。)
どのようにインストールしたのかを読みたい場合は、 http://www.javahotchocolate.com/tutorials/mongodb.html をご覧ください。
Brewを使用してmongoをアップグレードしたため、同じ問題が発生しました。この問題を修正するには。 confファイルを探します(mongodbを起動するbinディレクトリにない場合があります)
/usr/local/Cellar/mongodb-2.2.whatever/mongod.conf、および「bind_ip」プロパティをコメントアウトします。
ほとんどの場合、Javaドライバーは指定されたアドレスに接続できません。シェルを使用してそのアドレス_127.0.1.1:27017
_に接続し、「db.isMaster()
」を実行できることを確認してください。たぶん、それは_127.0.1.1
_対_127.0.0.1
_の問題です。
私は同じ問題を抱えていましたが、私の解決策は異なっていました。ホスト名として「localhost」を使用し、「127.0.0.1」に変更して修正しました。
Apt-getを使用してmongoをインストールしたため、同じ問題が発生しました。修正方法は次のとおりです。
- Mongod.confファイルを見つけます。 Ubuntu 14.04では、/ etc/mongod.confです
- Mongod.confファイルを開き、コマンドbindIp = 127.0.0.1を入力します
- Mongodを再起動します
これは、 Java MongDBドライバー )の問題であることがわかりました。
2つの解決策があります。
- version 2.8 以上のJavaドライバー。
- 構成ファイルを編集し、
bind_ip = 127.0.0.1
またはbind_ip = localhost
の行が含まれている場合はコメント化します。
謙虚なパイを食べる...
Russ Bateman自身の答え へのコメントで示したように、最初はUbuntuパッケージの問題のように思われました。本当の理由は、付属の設定ファイルがbind_ip
...の値を定義していることです.
.confファイルの内容を見ずに言うのは難しいです。私がお勧めすることの1つは、mongoシェルを実行して、接続、クエリ、書き込みができるかどうかを確認することです。これにより、サーバーとJavaクライアントの問題を分離できます。さらに、ヒントとなる可能性のある別の形式のエラーが表示される場合があります。
.confファイルに--portを設定していますか?
これはセキュリティの問題または無効なURLのようです。デフォルトの構成を使用した場合、 http:// yourmachine:28017 にアクセスできるはずです。このURLから管理ページに移動できるかどうかを確認してください。管理URLに移動できる場合は、アプリでポート番号を27017に置き換えてください。動作するはずです。
私にとって、それはまったく異なる解決策でした。私はSpring MVCフレームワークを使用しており、設定XMLファイルが/ targetフォルダーと非ターゲットフォルダーで同じことを言っていることを確認するだけでした。それが調整されると、すべてが機能しました。問題は、STSから実行するとすべてが機能することでしたが、デプロイすると、前述のエラーが発生しました。