最近、Ubuntu 15.10にアップグレードした後、MongoDB 3.0.2が起動しません。
$ Sudo service mongod start
エラーがスローされます:
Failed to start mongod.service: Unit mongod.service failed to load: No such file or directory.
Systemdのサービスファイルが不足しているだけです。 Kartikのように新興企業に戻ったり、 https://docs.mongodb.org/manual/installation/ で説明されているものとは異なるリポジトリを使用する必要はありません。
次の内容のファイル/lib/systemd/system/mongodb.service
を作成します。
[Unit]
Description=High-performance, schema-free document-oriented database
After=network.target
[Service]
User=mongodb
ExecStart=/usr/bin/mongod --quiet --config /etc/mongodb.conf
[Install]
WantedBy=multi-user.target
このエラーは、新しいUbuntu(15以降)の問題が原因で発生しました。
デフォルトのinitシステムは、以前はpstartであったsystemdです。したがって、Upstartをインストールし、システムを再起動する必要があります。ここで、mongodbサービスを実行できます。
Sudo apt-get install upstart-sysv
Sudo service mongod start
mongod start/running, process 3371
Ubuntu 15.10でdebianパッケージを使用しました
echo "deb http://repo.mongodb.org/apt/debian wheezy/mongodb-org/3.0 main" | Sudo tee /etc/apt/sources.list.d/mongodb-org-3.0.list
Sudo apt-get update
Sudo apt-get install -y mongodb-org
15.10にアップグレードした後、同様の問題が発生しました。
多くの問題が発生する可能性がありますが、問題の原因によっては、mongodbをinit.dで実行できる場合があります。
Sudo /etc/init.d/mongodb start
私にとってはうまくいきましたが、再起動するたびに実行するか、起動タスクに追加する必要があるため、長期的なソリューションではありません。だから私は次のことをした。
1)「sclausen」の説明に従ってサービスファイルを作成します。
2)次を実行してサービスをリロードします:
Sudo systemctl daemon-reload
3)Sudo service mongodb start
を実行しました
4)コマンドは出力なしで実行されました。したがって、mongo
を実行してテストすると、ソケットエラーが発生しました。
Error: connect ECONNREFUSED 127.0.0.1:27017 at Object.exports._errnoException (util.js:870:11) at exports._exceptionWithHostPort (util.js:893:20) at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1062:14)
5)ログtail -n 50 /var/log/mongodb/
を調べ、根本的なエラーを見つけました:
2016-02-26T14:28:23.538+1100 E NETWORK [initandlisten] Failed to unlink socket file /tmp/mongodb-27017.sock errno:1 Operation not permitted
6)問題のあるソケットファイルを削除しました:Sudo rm /tmp/mongodb-27017.sock
このスレッドで提案されているとおり: https://stackoverflow.com/questions/29813648/failed-to-unlink-socket-file-error-in-mongodb -3-
7)サービスを再実行しました:Sudo service mongodb start
その時点ですべてが順調で、ボブは私の叔父としての正当な地位に戻りました。
私の場合、Ubuntu 16.04.1があり、MongoDB 3.2.11をインストールしていましたが、同じエラーが発生していました。いくつかのクリーンアップと再試行の後、最終的にサービスを「有効化」しました。
systemctl enable mongod.service
それはちょうどうまくいった