web-dev-qa-db-ja.com

エラーを解決する方法:dbpath(/ data / db /)はMongoDBに永続的に存在しません

Ubuntu 10.04にmongodbをインストールしました。

コマンド "mongod"でmongodbサーバーを起動する場合、/ data/dbフォルダーが必要であり、簡単に解決できることを知っています。 「/ data/db /」を作成します。もう1つの方法は、dbに独自のカスタムパスを指定するときに、mongod --dbpath "path"を使用して独自のパスを提供することです。

しかし、 http://docs.mongodb.org/manual/tutorial/install-mongodb-on-ubuntu/ リンクを通過している間に、構成ファイルがあることがわかりました。

次の変更を加えました。

#mongodb.conf

dbpath=/EBS/Work/mongodb/data/db/


logpath=/EBS/Work/mongodb/mongodb.log

logappend=true

しかし、 "mongod"でサーバーを起動しようとすると、同じエラー、つまりerror:dbpath(/data/db /)は存在しません。 「mongod --dbpath path」を使用してパスを入力するたびに、dbpathを独自のカスタムフォルダーに永続的にリダイレクトできる方法を知りたいと思っていました。

42
Abhinav

MongoDBのパッケージバージョン をインストールするための指示に従っていると仮定すると、mongodを使用してserviceを開始および停止する必要があります。

mongodを開始するには:

 Sudo service mongodb start

mongodを停止するには:

 Sudo service mongodb stop

Serviceコマンドを使用して開始および停止する場合、構成ファイルを使用する必要があります:/etc/mongodb.conf

コマンドラインからmongodを開始

サービス定義を使用する代わりにmongodを直接実行する場合、使用する場合は コマンドラインパラメーター として構成ファイルを指定する必要があります。

mongod --config /etc/mongodb.conf
56
Stennie

公式のDocに従うだけで、これを解決できました。 [〜#〜] here [〜#〜]

Teminalからのステップバイステップ(ubuntuの実行):

  1. / srvフォルダーにcd = >> cd /srv/
  2. ディレクトリを作る= >> mkdir -p mongodb
  3. / srv /内から、新しく作成されたmongodbフォルダーに適切なアクセス許可とグループを与えます......
  4. 最後に、これを実行します=> mongod --dbpath /srv/mongodb/

「ステップバイステップ」端末のコピー...... :)

 ~$ mongod 
    Tue Jun  3 20:27:39.564 [initandlisten] MongoDB starting : pid=5380 port=27017 dbpath=/srv/mongodb/ 64-bit Host= -SVE1411EGXB
    Tue Jun  3 20:27:39.564 [initandlisten] db version v2.4.10
    Tue Jun  3 20:27:39.564 [initandlisten] git version: e3d78955d181e475345ebd60053a4738a4c5268a
    Tue Jun  3 20:27:39.564 [initandlisten] build info: Linux ip-10-2-29-40 2.6.21.7-2.ec2.v1.2.fc8xen #1 SMP Fri Nov 20 17:48:28 EST 2009 x86_64 BOOST_LIB_VERSION=1_49
    Tue Jun  3 20:27:39.564 [initandlisten] allocator: tcmalloc
    Tue Jun  3 20:27:39.564 [initandlisten] options: { dbpath: "/srv/mongodb/" }
    Tue Jun  3 20:27:39.565 [initandlisten] exception in initAndListen: 10296 
    *********************************************************************
     ERROR: dbpath (/srv/mongodb/) does not exist.
     Create this directory or give existing directory in --dbpath.
     See http://dochub.mongodb.org/core/startingandstoppingmongo
    *********************************************************************
    , terminating
    Tue Jun  3 20:27:39.565 dbexit: 
    Tue Jun  3 20:27:39.565 [initandlisten] shutdown: going to close listening sockets...
    Tue Jun  3 20:27:39.565 [initandlisten] shutdown: going to flush diaglog...
    Tue Jun  3 20:27:39.565 [initandlisten] shutdown: going to close sockets...
    Tue Jun  3 20:27:39.565 [initandlisten] shutdown: waiting for fs preallocator...
    Tue Jun  3 20:27:39.565 [initandlisten] shutdown: lock for final commit...
    Tue Jun  3 20:27:39.565 [initandlisten] shutdown: final commit...
    Tue Jun  3 20:27:39.565 [initandlisten] shutdown: closing all files...
    Tue Jun  3 20:27:39.565 [initandlisten] closeAllFiles() finished
    Tue Jun  3 20:27:39.565 dbexit: really exiting now
         ~$ mongod --dbpath /srv/mongodb/
    Tue Jun  3 20:27:55.616 [initandlisten] MongoDB starting : pid=5445 port=27017 dbpath=/srv/mongodb/ 64-bit Host= -SVE1411EGXB
    Tue Jun  3 20:27:55.616 [initandlisten] db version v2.4.10
    Tue Jun  3 20:27:55.616 [initandlisten] git version: e3d78955d181e475345ebd60053a4738a4c5268a
    Tue Jun  3 20:27:55.616 [initandlisten] build info: Linux ip-10-2-29-40 2.6.21.7-2.ec2.v1.2.fc8xen #1 SMP Fri Nov 20 17:48:28 EST 2009 x86_64 BOOST_LIB_VERSION=1_49
    Tue Jun  3 20:27:55.616 [initandlisten] allocator: tcmalloc
    Tue Jun  3 20:27:55.616 [initandlisten] options: { dbpath: "/srv/mongodb/" }
    Tue Jun  3 20:27:55.617 [initandlisten] exception in initAndListen: 10296 

     ~$ Sudo service mongodb start
start: Job is already running: mongodb
     ~$ Sudo service mongodb stop
mongodb stop/waiting
     ~$ cd /srv/
     ~$~$/srv$ ls
     ~$ /srv$ mkdir mongodb
     ~$ Sudo chgrp   /srv
     ~$ Sudo chmod 775 /srv
     ~$ cd /srv/
     /srv$ ls
     /srv$ mkdir mongodb
     /srv$ ls mongodb
     /srv$ cd
     ~$ mongod --dbpath /srv/mongodb/
Tue Jun  3 20:40:57.457 [initandlisten] MongoDB starting : pid=6018 port=27017 dbpath=/srv/mongodb/ 64-bit Host= -SVE1411EGXB
Tue Jun  3 20:40:57.457 [initandlisten] db version v2.4.10
Tue Jun  3 20:40:57.457 [initandlisten] git version: e3d78955d181e475345ebd60053a4738a4c5268a
Tue Jun  3 20:40:57.457 [initandlisten] build info: Linux ip-10-2-29-40 2.6.21.7-2.ec2.v1.2.fc8xen #1 SMP Fri Nov 20 17:48:28 EST 2009 x86_64 BOOST_LIB_VERSION=1_49
Tue Jun  3 20:40:57.457 [initandlisten] allocator: tcmalloc
Tue Jun  3 20:40:57.457 [initandlisten] options: { dbpath: "/srv/mongodb/" }
Tue Jun  3 20:40:57.520 [initandlisten] journal dir=/srv/mongodb/journal
Tue Jun  3 20:40:57.521 [initandlisten] recover : no journal files present, no recovery needed
Tue Jun  3 20:41:00.545 [initandlisten] preallocateIsFaster=true 36.86
Tue Jun  3 20:41:03.489 [initandlisten] preallocateIsFaster=true 35.06
Tue Jun  3 20:41:07.456 [initandlisten] preallocateIsFaster=true 34.44
Tue Jun  3 20:41:07.456 [initandlisten] preallocateIsFaster check took 9.935 secs
Tue Jun  3 20:41:07.456 [initandlisten] preallocating a journal file /srv/mongodb/journal/prealloc.0
Tue Jun  3 20:41:10.009 [initandlisten]         File Preallocator Progress: 985661440/1073741824    91%
Tue Jun  3 20:41:22.273 [initandlisten] preallocating a journal file /srv/mongodb/journal/prealloc.1
Tue Jun  3 20:41:25.009 [initandlisten]         File Preallocator Progress: 933232640/1073741824    86%
Tue Jun  3 20:41:37.119 [initandlisten] preallocating a journal file /srv/mongodb/journal/prealloc.2
Tue Jun  3 20:41:40.093 [initandlisten]         File Preallocator Progress: 1006632960/1073741824   93%
Tue Jun  3 20:41:52.450 [FileAllocator] allocating new datafile /srv/mongodb/local.ns, filling with zeroes...
Tue Jun  3 20:41:52.450 [FileAllocator] creating directory /srv/mongodb/_tmp
Tue Jun  3 20:41:52.503 [FileAllocator] done allocating datafile /srv/mongodb/local.ns, size: 16MB,  took 0.022 secs
Tue Jun  3 20:41:52.517 [FileAllocator] allocating new datafile /srv/mongodb/local.0, filling with zeroes...
Tue Jun  3 20:41:52.537 [FileAllocator] done allocating datafile /srv/mongodb/local.0, size: 64MB,  took 0.02 secs
Tue Jun  3 20:41:52.538 [websvr] admin web console waiting for connections on port 28017
Tue Jun  3 20:41:52.538 [initandlisten] waiting for connections on port 27017
7
zee

新しいデータディレクトリのユーザーを変更します。

chown mongodb [rute_directory]

そして、もう一度mongoサービスを開始してみてください

サービスmongodb開始

これで同じ問題を解決します。

1
Raugaral
  1. ルートシステムフォルダーからmongoログファイルを見つける

Sudo find/-name "mongodb.log" -type f

結果:/var/log/mongodb/mongodb.log

  1. /var/log/mongodb/mongodb.logを開きます

  2. 最後の「例外」ワードを検索

  3. 例外を修正してください

私の場合、例外は次でした:2015-07-30T15:09:15.806 + 0300 [initandlisten] initAndListenの例外:13597は、ジャーナル/ファイルが存在するときに--journalが有効になっていないと開始できません。

私は次を作りました:

  1. cd/var/lib/mongodb
  2. rm -r journal /
0
1nstinct