Ubuntu 15.10にアップグレードした後、MongoDB 3.0.2が起動しない


14

最近、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.

回答:


21

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

askubuntu.com/a/617869/43344のメモも参照してください。
JdeBP

データディレクトリのファイル所有権、tmp fsロック、およびログファイルに注意する必要があることを付け加えます。私はこれを機能させようとしsudo service...ていましたが、アクセス許可の問題のため静かに失敗していました
-Hotbelgo

4
何らかの理由でデフォルトの設定ファイルが呼び出され/etc/mongod.confていない/etc/mongodb.conf
-mightyuhu

1
@mightyuhuは正しいですが、正しいパスが定義されていないと失敗します。正しいパスで失敗しません。
user1063287

2
ありがとう!これは正しい答えです。1つ小さなこと:サービス名はmongod、これが彼らが公式サイトで使用するものであるためです。そうmongodb.confでなければなりませんmongod.conf し、ファイル名でなければなりません/lib/systemd/system/mongod.service
caisah

12

このエラーは、新しいUbuntu(15以降)の問題が原因で発生しました。

デフォルトのinitシステムは、以前Upstartであったsystemdです。したがって、Upstartをインストールし、システムを再起動して、mongodbサービスを実行する必要があります。

  • Upstartをインストールする

sudo apt-get install upstart-sysv

  • システムを再起動します

sudo service mongod start

mongod start/running, process 3371


1
サービス名は現在mongodb
-sowrov

@sowrov、いいえ、最新のサービス名はまだ「mongod」です
クレイファーガソン

1
upstart-sysvをインストールし、ubuntu 16.04を再起動した後、空白になりました。私は回復に行かなければならず、それを削除する必要がありました。このスレッドは、upstartaskubuntu.com
questions/

5

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

1

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-0

7)サービスを再実行しました: sudo service mongodb start

その時点ですべてが順調で、ボブは私の叔父としての正当な立場に戻りました。


0

私の場合、Ubuntu 16.04.1があり、MongoDB 3.2.11をインストールしていましたが、同じエラーが発生していました。いくつかのクリーンアップと再試行の後、最終的にサービスを「有効化」しました。

systemctl enable mongod.service

それからちょうどうまくいった

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.