web-dev-qa-db-ja.com

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を使用して管理ページを取得します。

ありとあらゆるアイデアに感謝します!

20
Russ Bateman

(自分の質問に答えるのは少し悪い形だと思いますが、実際には、答えは示唆されたもののどれでもないことが判明しました。正しくインストールされ動作しているソフトウェアに基づいています。私にはありませんでした。)

Ubuntu Software Centerを使用してMongoDBをインストールしました。この質問の他の箇所で述べたように、シェルとブラウザから機能しました。ただし、Java(またはDjangoいずれか))からは機能しませんでした。

この問題は、Javaスタックトレースで述べられていることにもかかわらず、単に「接続が拒否されました」でした。

解決策は、適切なMongoソースからインストールし、Ubuntuリポジトリを信頼しないことです

(はい、これはEclipseのような他の製品からも頻繁に起こりますが、あなたはそれがあなたがそれを信頼したい素晴らしいサービスであることを知っています。)

どのようにインストールしたのかを読みたい場合は、 http://www.javahotchocolate.com/tutorials/mongodb.html をご覧ください。

9
Russ Bateman

Brewを使用してmongoをアップグレードしたため、同じ問題が発生しました。この問題を修正するには。 confファイルを探します(mongodbを起動するbinディレクトリにない場合があります)

/usr/local/Cellar/mongodb-2.2.whatever/mongod.conf、および「bind_ip」プロパティをコメントアウトします。

13
nids

ほとんどの場合、Javaドライバーは指定されたアドレスに接続できません。シェルを使用してそのアドレス_127.0.1.1:27017_に接続し、「db.isMaster()」を実行できることを確認してください。たぶん、それは_127.0.1.1_対_127.0.0.1_の問題です。

7
agirbal

私は同じ問題を抱えていましたが、私の解決策は異なっていました。ホスト名として「localhost」を使用し、「127.0.0.1」に変更して修正しました。

6
Daniel Flower

Apt-getを使用してmongoをインストールしたため、同じ問題が発生しました。修正方法は次のとおりです。

  1. Mongod.confファイルを見つけます。 Ubuntu 14.04では、/ etc/mongod.confです
  2. Mongod.confファイルを開き、コマンドbindIp = 127.0.0.1を入力します
  3. Mongodを再起動します
4
Jingwen

これは、 Java MongDBドライバー )の問題であることがわかりました。

2つの解決策があります。

  1. version 2.8 以上のJavaドライバー。
  2. 構成ファイルを編集し、bind_ip = 127.0.0.1またはbind_ip = localhostの行が含まれている場合はコメント化します。

謙虚なパイを食べる...

Russ Bateman自身の答え へのコメントで示したように、最初はUbuntuパッケージの問題のように思われました。本当の理由は、付属の設定ファイルがbind_ip...の値を定義していることです.

3
Rodrigue

.confファイルの内容を見ずに言うのは難しいです。私がお勧めすることの1つは、mongoシェルを実行して、接続、クエリ、書き込みができるかどうかを確認することです。これにより、サーバーとJavaクライアントの問題を分離できます。さらに、ヒントとなる可能性のある別の形式のエラーが表示される場合があります。

.confファイルに--portを設定していますか?

2
dm.

これはセキュリティの問題または無効なURLのようです。デフォルトの構成を使用した場合、 http:// yourmachine:28017 にアクセスできるはずです。このURLから管理ページに移動できるかどうかを確認してください。管理URLに移動できる場合は、アプリでポート番号を27017に置き換えてください。動作するはずです。

2
zbugs

私にとって、それはまったく異なる解決策でした。私はSpring MVCフレームワークを使用しており、設定XMLファイルが/ targetフォルダーと非ターゲットフォルダーで同じことを言っていることを確認するだけでした。それが調整されると、すべてが機能しました。問題は、STSから実行するとすべてが機能することでしたが、デプロイすると、前述のエラーが発生しました。

0
Damir Olejar