web-dev-qa-db-ja.com

MongoDB 2.6はUbuntu 15.04で起動しません

I MongoDB 2.6をインストール クリーンインストールされたUbuntu 15.04:

Sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10
echo 'deb http://downloads-distro.mongodb.org/repo/ubuntu-upstart dist 10gen' | Sudo tee /etc/apt/sources.list.d/mongodb.list
Sudo apt-get update
Sudo apt-get install -y mongodb-org

問題なく終了しました。ただし、起動しようとすると、次のエラーが発生しました。

$ Sudo service mongod start
Failed to start mongod.service: Unit mongod.service failed to load: No such file or directory.

どうすれば修正できますか?

51
Akihiro HARAI

debian wheeze repository からインストールしましたが、正常に動作します。

まず、mongodb-orgパッケージとそのすべての依存関係を必ず削除してください。

Sudo apt-get purge mongodb-org
Sudo apt-get autoremove

作成した古いmongodb.listを削除します。

Sudo rm /etc/apt/sources.list.d/mongodb.list

代わりに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

その後、サーバーを正常に起動できます。

Sudo service mongod start

または

systemctl start mongod

(Roman Gaufmanのコメントへの返信でErnie Hersheyが明らかにしたように: https://jira.mongodb.org/browse/SERVER-17742

65
Dielson Sales

MongoDBチームは、Ubuntu 15.04をサポートせず、代わりに16.04をサポートする予定であると述べています( https://jira.mongodb.org/browse/SERVER-17742 を参照)。

Ubuntu 15.04は、デフォルトのinitシステムをUpstartからsystemdに進めます。 systemdを使用してMongoDB 3.0を起動することに成功しませんでした。

upstart-sysvをインストールすると、Upstartに切り替えることができます。

Sudo apt-get install upstart-sysv

再起動すると、MongoDBが起動します。

時間をさかのぼることなく、Ubuntu 15.04でMongoDBを実行する簡単な方法を見つけたいと思っています。

25
Moshe Revah

Ubuntu 15.04+およびMongo 3.0+で動作するように見えるSystemdスクリプトを作成しました。

[Unit]
Description=High-performance, schema-free document-oriented database
Documentation=man:mongod(1)
After=network.target

[Service]
Type=forking
User=mongodb
Group=mongodb
RuntimeDirectory=mongod
PIDFile=/var/run/mongod/mongod.pid
ExecStart=/usr/bin/mongod -f /etc/mongod.conf --pidfilepath /var/run/mongod/mongod.pid --fork
TimeoutStopSec=5
KillMode=mixed

[Install]
WantedBy=multi-user.target

https://Gist.github.com/benileo/ada486d73f58dd93a0ee

必ず/etc/mongod.confにデータディレクトリを設定してください

4
benileo

Mongodb.orgから直接公開されたパッケージからインストールしています。 Ubuntuリポジトリで提供されるパッケージからインストールする必要があります。 Debian/Ubuntuパッケージには、mongodb.orgが残した穴を埋めるためにsystemdサービスユニットがパッチされています。

(WWW上のmongodb.serviceユニットファイルの不足はありません。1つを書くことも難しくありません。私は持っています。)

具体的には、 そのようなサービスユニット in buntuバージョン15のmongodb-serverバージョン2.6パッケージ にあります。したがって、そのパッケージをインストールするだけです。

(Debian/Ubuntu提供のサービスユニットは適用されないことに注意してください mongo-recommended systemdサービスユニットディレクティブ 。)

参考文献

4
JdeBP

「mongod」の代わりに「mongodb」を使用する

すなわち

Sudo service mongodb start

Sudo service mongodb stop
1
Yasitha Bandara

これが最良の答えではありませんか?重複した質問から: https://askubuntu.com/a/694226/255468 by @sclausen


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
1
Sudhanshu

https://jira.mongodb.org/browse/SERVER-17742

これは、強力な抗議がない限り、Ubuntu 16.04まで2.6.3以上では完全に修正されない可能性があるようです。

だから私にとっての解決策は以下を発行することでした:

Sudo apt-get install --reinstall mongodb
1
Fabien Thetis

これらの回答の多くはMongo 3.0に関連していますが、質問では特に2.6について質問しました。

10genのDebianリポジトリを使用して2.6をインストールすることに成功しました。これはUbuntu 15.04で完全に動作するようです。

Sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10
echo 'deb http://downloads-distro.mongodb.org/repo/debian-sysvinit dist 10gen' | Sudo tee /etc/apt/sources.list.d/mongodb.list
Sudo apt-get update
Sudo apt-get install mongodb-org

ソース: buntu 14.10、14.04、および12.04 LTSにMongoDB 2.6をインストールする方法

0
Tom Spencer

検索から数時間後、解決策は次のコマンドを使用してubuntuを15.04から16.04にアップグレードすることでした:

ステップ1

Sudo do-release-upgrade -d 

Mongodbを削除するよりも数分かかるので、パニックにならないでください。

ステップ2

Sudo apt-get purge mongodb-org 
Sudo apt-get autoremove`  
rm /etc/apt/sources.list.d/mongodb-org-3.0.list`  

そして今、mongodbをインストールしますが、このソースを使用します:

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-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10  
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 mongodb-org
Sudo service mongod status

以上です。

注: 'E:最初の行のタイプ' deb 'のようなエラーが表示された場合。 。 。ファイルmongodb-org-3.0.list内

必要なことは、geditを使用してこのファイルを取得し、文の最初と最後の「」を削除することだけです。

Ubuntu 15.04+は pstartの代わりにsystemd を使用します。 MongoDBの公式インストールガイド で開始します。次に、公式の mongod.service を使用します。

[Unit]
Description=High-performance, schema-free document-oriented database

[Service]
User=mongod
Group=mongod
Environment="OPTIONS=--quiet -f /etc/mongod.conf"
ExecStart=/usr/local/bin/mongod $OPTIONS run
PIDFile=/var/run/mongodb/mongod.pid

[Install]
WantedBy=multi-user.target

ダウンロード、パッチ、サービスのインストール、およびdir + permissionsのセットアップ

$ curl -OL https://raw.githubusercontent.com/mongodb/mongo/1663f45b4e33e058a0203a81f50574a870882c34/rpm/mongod.service
$ sed -i 's/\/usr\/local/\/usr/g' mongod.service
$ sed -i '/Desc/a After=network.target' mongod.service
$ Sudo sed -i '0,/\/var\/lib\/mongodb/s//\/data\/db/' /etc/mongod.conf
$ Sudo cp mongod.service /lib/systemd/system/mongo.service
$ Sudo mkdir -p /data/db
$ Sudo chown -R mongodb:mongodb /data
$ Sudo systemctl daemon-reload
$ Sudo systemctl enable mongod

サービスを開始

$ Sudo systemctl start mongod

サービスの状態を確認する

$ Sudo systemctl status mongod
0
A T

質問はバージョン2.6向けです。バージョン3.0.6のUbuntu 15.04でまったく同じエラーUnit mongod.service failed to loadが発生していました。上記のDielson Salesが言及した同じwheezyリポジトリを使用して最終的に解決されました。

そして、インストール後(@Dielson Salesが詳述した手順に従って)、上記のエラーに直面しました。これが私が最終的に解決した方法です。

A)MongoDBのデフォルトのデータストアファイルを/ var/lib/mongodbから/ data/db

  • 最初に新しい/ data/dbディレクトリを作成しますSudo mkdir -p /data/db

  • Mongod.confファイルSudo gedit /etc/mongod.confを開き、「dbpath」行を次のように変更します

  • 置換dbpath =/var/lib/mongodbTOdbpath =/data/dbファイルを保存します。

  • 次に、古いデフォルトの/ var/lib/mongodbを削除します

  • ここで、mongodユーザーが所有するすべてのディレクトリ/ファイルを作成する必要があります

B)Sudo chown -R mongodb:mongodb /data/dbを実行します

そして、ついにSudo service mongod startでmongoを起動できます

サービスがSudo systemctl status mongodで実行されていることを確認します-以下のようなメッセージが表示されます

Loaded: loaded (/etc/init.d/mongod)

Active: active (running) since Thu 2015-09-03 04:57:49 IST; 7s ago

ブログ投稿 で手順を詳しく説明してください

0
Rohan_Paul

まず、mongodbをダウンロードします。

curl -O https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.0.6.tgz

ダウンロードの抽出:

tar -zxvf mongodb-linux-x86_64-3.0.6.tgz

-dbpath属性を指定してmongod(mongodb-linux-x86_64-3.0.6.tgz/bin/mongod)を実行します。

Sudo ./mongod --dbpath /path/of/the/directory

任意の空のディレクトリにすることができます

そして最後に、mongo(mongodb-linux-x86_64-3.0.6.tgz/bin/mongo)を実行します

./mongo

私のubuntu 15で働いた:)

私の悪い英語をすみません、私はブラジルに住んでいます

コマンドでタイプミスをしました。

代わりにこれを使用してみてください:Sudo service mongodb start

0
erdem karayer