web-dev-qa-db-ja.com

MongoDB errno:61に接続できません

Macportsを使用してMongoDBをインストールし、mongo Shellを起動するためにmongoコマンドを実行してみました。次のエラーを受け取りました:

warning: Failed to connect to 127.0.0.1:27017, reason: errno:61 Connection refused

Error: couldn't connect to server 127.0.0.1:27017 (127.0.0.1), connection attempt failed 
at src/mongo/Shell/mongo.js:146

次にmongodを実行して、次のエラーを受け取りました。

$ [initandlisten] MongoDB starting : pid=11984 port=27017 dbpath=/data/db 64-bit Host=Nikitas-MacBook-Air.local
$ [initandlisten] 
$ [initandlisten] ** WARNING: soft rlimits too low. Number of files is 256, should be at least 1000
$ [initandlisten] db version v2.6.0
$ [initandlisten] git version: nogitversion
$ [initandlisten] build info: Darwin tennine-slave.macports.org 13.1.0 Darwin Kernel Version 
13.1.0: Thu Jan 16 19:40:37 PST 2014; root:xnu-2422.90.20~2/RELEASE_X86_64 x86_64 BOOST_LIB_VERSION=1_55
$ [initandlisten] allocator: tcmalloc
$ [initandlisten] options: {}
$ [initandlisten] exception in initAndListen: 10296 
*********************************************************************
 ERROR: dbpath (/data/db) does not exist.
 Create this directory or give existing directory in --dbpath.
 See http://dochub.mongodb.org/core/startingandstoppingmongo
*********************************************************************
, terminating
$ [initandlisten] dbexit: 
$ [initandlisten] shutdown: going to close listening sockets...
$ [initandlisten] shutdown: going to flush diaglog...
$ [initandlisten] shutdown: going to close sockets...
$ [initandlisten] shutdown: waiting for fs preallocator...
$ [initandlisten] shutdown: lock for final commit...
$ [initandlisten] shutdown: final commit...
$ [initandlisten] shutdown: closing all files...
$ [initandlisten] closeAllFiles() finished
$ [initandlisten] dbexit: really exiting now

ルートで/data/dbディレクトリをどこに作成しますか? mongoを実行すると、2番目のエラーがerrno:61の原因になりますか?

19
Michael

はい、ルートに/data/dbを作成します。 MongoDB Documentation は、OS X mkdir -p /data/dbで作成する次のコマンドを提案します。

2番目の質問についても、はい。 Mongo Daemonが起動に失敗してリッスンしていないため、接続エラーが発生します。

MongoDBのデフォルトは、データディレクトリの/data/dbです。 mongodコマンドの--dbpathオプションを使用して、デフォルトを上書きできます(上記のドキュメントリンクにもあります)。

20
DaveStSomeWhere

同様の問題が発生しました。エラーのトレースと解決策を詳しく説明しました このブログ これは、この問題を解決するために実行した段階的なプロセスです。

ステップ1-インストール(MongoDBをすでにインストールしている場合は、このステップを実行しないでください):

brew update
brew install mongodb

ステップ2-Mongo Daemonを実行します。

mkdir -p /data/db
Sudo mongod

ステップ3-Mongo Shellインターフェースを実行します。

mongo

このシーケンスでは、mongoコマンドをエラーなしで実行できました。

23
** WARNING: soft rlimits too low. Number of files is 256, should be at least 1000

/ etc/bashrcに1行追加すると、警告が消えます。

ulimit -S -n 1024

chown -R {user} /data/dbを使用して、/data/dbの所有者をrootから自分に変更します。その後、mongoだけでmongo Shellを起動できます。Sudo mongoを使用する必要はありません。

3
lutaoact