15

dbpathを変更して以来/etc/mongodb.conf、MongoDBは自動的に起動せず、新しいを使用していませんdbpath。変更前は、コンピューターの起動時にMongoDBが実行mongoされていたため、コマンドを実行してコンソールにアクセスするか、RubyonRailsサーバーを問題なく起動できました。

変更を加えた後(より多くのスペースがある新しいドライブに切り替えるため)、すべてを機能させる唯一の方法は、コマンドを手動で実行することmongod --config /etc/mongodb.confです。それを実行しないと、サービスが実行されており、--configオプションなしで実行されているようには見えません。次のエラーが表示されます。ERROR: dbpath (/data/db/) does not exist.構成ファイルに。について何も記載されていなくてもdata/db

その他の注意事項:

  • を変更することに加えて/etc/mongodb.conf、すべてのファイルをに移動し/var/lib/mongodbまし/home/nick/appdev/mongodbた。
  • 所有者とグループをからに変更しrootましたnick。元に戻してみましたが、何も修正されていないようです。
  • Ubuntu 12.10Beta1とMongo2.2.0をRubyonRails3.2.8で実行しています
4

4 に答える 4

23

上記の質問に対する遅いフォローアップ...

dbをec2のebsに移動した後、同様の問題が発生しました。

mongodを実行するだけでも、dbpathは/ data / db /(存在する)に転送されます。

/etc/mongodb.conf特に指示がない限り、は完全に無視されます。

--config私はディレクティブまたは(両方の作業)を使用してこれを回避することができ--dbpathますが、mongodはどこからデフォルトを取得するのか疑問に思っていました...?!

これらのデフォルトをどこでも見つけて上書きすることができませんでした。誰 ?

注:私はこのmongodの動作に本当に悩まされています...これは単に悪いデザインであり、悪いドキュメントです。

于 2013-11-09T15:29:32.620 に答える
10

所有者とグループをに設定する必要があることがわかりましたmongodb。ファイルを新しいディレクトリに転送したときに、所有者とグループを自分のユーザーアカウントに設定し、nick試しrootましたが、どちらも機能しませんでした。

そのためのコマンドは次のとおりです。

sudo chown mongodb /home/nick/appdev/mongodb -R
sudo chgrp mongodb /home/nick/appdev/mongodb -R

それが機能したことを確認するには、次のコマンドでファイルのアクセス許可を確認できます。

ls -l /home/nick/appdev/mongodb
于 2012-09-26T14:34:21.813 に答える
1

提案されているように、データ、ジャーナル、およびログフォルダーのすべてのアクセス許可を確認した後、/tmpフォルダー内のロックファイルにアクセス許可を与えることで問題を解決しました。

sudo chown mongod:mongod mongodb-27017.sock 

AWSAmazonLinuxインスタンスとして実行していました。以下のようにmongodユーザーとして実行し、エラーコードを調べてみました。他のトラブルシューティングに役立つ場合があります。

sudo -S -u mongod mongod -f /etc/mongod.conf
于 2017-01-13T17:18:31.923 に答える
0

MongoDB 1.6は非常に古く、最新の製品バージョンは2.2です。これには、1.6以降の大量のバグ修正と機能拡張が含まれています。

yumやaptitudeなどのパッケージマネージャーを介して1.6をインストールしていないというのは正しいですか?現在、1.6のパッケージはないと思います。したがって、mongod制御スクリプトを使用してMongoDBを起動していないため、は正しく動作しています。

構成ファイルのオプションについては、このリンクを参照してください。

于 2012-09-24T17:00:39.317 に答える