web-dev-qa-db-ja.com

sudoサービスmongodbを再起動すると、ubuntu 14.0.4で「認識されないサービスエラー」が発生する

MongoDBをubuntu 14.0.4にインストールしました。シェルを起動しようとしましたが、接続拒否エラーが発生しています。

me@medev:/etc/init.d$ mongo
MongoDB Shell version: 2.6.5
connecting to: test
2014-11-10T15:06:28.084-0500 warning: Failed to connect to 127.0.0.1:27017, reason: errno:111 Connection refused
2014-11-10T15:06:28.085-0500 Error: couldn't connect to server 127.0.0.1:27017 (127.0.0.1), connection attempt failed at src/mongo/Shell/mongo.js:146
exception: connect failed

だから私はサービスを再起動しようとすることにしましたが、それも失敗しています。次のエラーメッセージが表示されます。

me@medev:/etc/init.d$ Sudo service mongodb restart
mongodb: unrecognized service
me@medev:/etc/init.d$ 

これは私の/var/log/mongodb/mongod.logにあるものです- http://Pastebin.com/MrHt8tce

これまでに試したこと:

ここで別の投稿を見つけました: mongodbをSudoとして起動できません これは、mongoロックファイルの削除についてコメントしました。

ロックファイルを削除してからコマンドを再試行しましたが、次のように失敗します。

me@medev:/var/lib/mongodb$ Sudo rm mongod.lock 
me@medev:/var/lib/mongodb$ ls
journal  local.0  local.ns  _tmp

me@medev:/var/lib/mongodb$ Sudo service mongodb start
mongodb: unrecognized service

ただし、次のように/etc/init.dを使用して起動できます。

me@medev:/var/lib/mongodb$ Sudo /etc/init.d/mongod start
Rather than invoking init scripts through /etc/init.d, use the service(8)
utility, e.g. service mongod start

Since the script you are attempting to invoke has been converted to an
Upstart job, you may also use the start(8) utility, e.g. start mongod
mongod start/running, process 27469
me@medev:/var/lib/mongodb$ ls
journal  local.0  local.ns  mongod.lock

me@medev:/var/lib/mongodb$ mongo
MongoDB Shell version: 2.6.5
connecting to: test
> db
test
> 

Serviceコマンドを使用して開始できない理由についてのアイデアをいただければ幸いです。私が読んだことから、私はSudoサービスmongodbを使用する必要があります

43
dot

これを試して:

mongodbの代わりにmongodと書く

Sudo service mongodb status
39
Parvez Hassan

いつか同じエラーが出ました。これを使うべきです:

1. mongoサービスのステータスを取得します。

 /etc/init.d/mongod status

または

 Sudo service mongod status

2.開始されていない場合は、次のように修復します:

Sudo rm /var/lib/mongodb/mongod.lock
mongod --repair
Sudo service mongodb start

そして、サービスが再び開始されたかどうかをもう一度確認します(1)

20
Alex M.

私にとっての解決策は、交換することでした

service mongod start

start mongod
7
ErichBSchulz

ファイル(例:/etc/init.d/mongodb)に実行権限があることを確認する必要があります。

chmod +x /etc/init.d/mongodb
5
cybafelo

Debianでは、10genリポジトリの2.4.xと2.6.xの間で、initスクリプト/etc/init.d/mongodbの名前を/etc/init.d/mongodに変更し、デフォルトの構成ファイルを/ etc/mongodbから変更しました.confを/etc/mongod.confに、PIDおよびロックファイルも「mongodb」から「mongod」に。これによりアップグレードが苦痛になりましたが、彼らのドキュメントにはどこにも言及されていません。とにかく、解決策は古い「mongodb」バージョンを削除することです。

update-rc.d -f mongodb remove
rm /etc/init.d/mongodb
rm /var/run/mongodb.pid
diff -ur /etc/mongodb.conf /etc/mongod.conf

次に、保持する必要のある設定変更を確認して、mongod.confに入れます。

次に:

rm /etc/mongodb.conf

次のことができます。

service mongod restart
3
Will

私にとっては何も助けにはなりませんでしたが、経験豊かなdevopsの仲間と相談した後、私は解決策を終えました

コンテンツを含む/lib/systemd/system/mongod.serviceファイルを作成する

[Unit]
Description=High-performance, schema-free document-oriented database
After=network.target
Documentation=https://docs.mongodb.org/manual

[Service]
User=mongodb
Group=mongodb
ExecStart=/usr/bin/mongod --quiet --config /etc/mongod.conf

[Install]
WantedBy=multi-user.target

その後、開始/停止コマンドが機能するはずです

$ Sudo service mongod start

参考のために、Ubuntu 14.04 LTS、MongoDB 3.2.9をインストールしています

deb http://repo.mongodb.org/apt/ubuntu trusty/mongodb-org/3.2 multiverse
2

mongodの代わりにmongodbコマンドを使用できます。mongoでdbpathに関する問題を見つけた場合は、以下のリンクで回答を使用できます。

https://stackoverflow.com/a/53057695/82471

1
Touseef Murtaza

manual from official site を使用して、mongoサーバーをDebian Jessieにインストールしました。

推奨コマンドSudo service mongod restartの後に同じerror - mongodb: unrecognized serviceで開始しませんでした。

インストールされたパッケージの内容を調べたところ、Systemdサービスユニットのみが含まれ、SystemV initスクリプトが含まれていないことがわかりました。

# dpkg -L mongodb-org-server
/.
/usr
/usr/bin
/usr/bin/mongod
/usr/share
/usr/share/lintian
/usr/share/lintian/overrides
/usr/share/lintian/overrides/mongodb-org-server
/usr/share/doc
/usr/share/doc/mongodb-org-server
/usr/share/doc/mongodb-org-server/LICENSE-Community.txt
/usr/share/doc/mongodb-org-server/README
/usr/share/doc/mongodb-org-server/copyright
/usr/share/doc/mongodb-org-server/changelog.gz
/usr/share/doc/mongodb-org-server/GNU-AGPL-3.0.gz
/usr/share/doc/mongodb-org-server/THIRD-PARTY-NOTICES.gz
/usr/share/doc/mongodb-org-server/MPL-2.gz
/usr/share/man
/usr/share/man/man1
/usr/share/man/man1/mongod.1.gz
/etc
/etc/mongod.conf
/lib
/lib/systemd
/lib/systemd/system
/lib/systemd/system/mongod.service

しかし、私のシステムはSysV initで実行されていました。

# stat /proc/1/exe
File: '/proc/1/exe' -> '/sbin/init'

そのため、現在2つのオプションがあります。

1
Eugene

これは同じ問題で私のために働いた簡単な解決策です(私は思う):mv /var/lib/mongodb /var/lib/mongodb_backup mkdir /var/lib/mongodb chmod 700 /var/lib/mongodb chown mongodb:daemon /var/lib/mongodb systemctl restart mongodb or service mongod restart

0
Juan Antonio

元のソース- https://www.techrepublic.com/article/how-to-install-mongodb-community-edition-on-ubuntu-linux/


Ubuntu 16.04を使用していて、認識できないサービスエラーが発生した場合は、次の手順で修正できます。

  1. ターミナルウィンドウを開きます。
  2. コマンドSudo apt-key adv —keyserver hkp://keyserver.ubuntu.com:80 —recv EA312927を発行します
  3. コマンドSudo touch /etc/apt/sources.list.d/mongodb-org.listを発行します
  4. コマンドSudo gedit /etc/apt/sources.list.d/mongodb-org.listを発行します
  5. 開いているファイルに、以下から(リリースに応じて)次の行のいずれかをコピーして貼り付けます。 12.04の場合:deb http://repo.mongodb.org/apt/ubuntu precise/mongodb-org/3.6 multiverse 14.04の場合:deb http://repo.mongodb.org/apt/ubuntu trusty/mongodb-org/3.6 multiverse 16.04の場合:deb http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.6 multiverse

適切な最新バージョンでバージョン番号を編集し、ファイルを保存してください。

インストールターミナルウィンドウを開き、コマンドSudo apt-get update && Sudo apt-get install -y mongodb-orgを発行します

インストールを完了させます。

MongoDBの実行データベースを起動するには、コマンドSudo service mongodb startを発行します。これで、MongoDBが実行されていることを確認するコマンドを発行できるはずです:systemctl status mongodb

Ubuntu 16.04ソリューションUbuntu 16.04を使用している場合、エラーmongodbが表示される問題が発生する可能性があります。 systemd。これを回避するには、次の手順に従う必要があります。

  • /etc/apt/sources.list.d/mongodb-org.listを追加した場合は、Sudo rm /etc/apt/sources.list.d/mongodb-org.listコマンドで削除します

  • Sudo apt-get updateコマンドでaptを更新します

  • サービスを適切にセットアップするには、コマンドSudo apt-get install mongodbを使用して、標準リポジトリから公式のMongoDBバージョンをインストールします

  • コマンドSudo apt-get remove mongodb && Sudo apt-get autoremoveでインストールしたものを削除します

上記の手順1〜5に従って、MongoDBをインストールします。これにより、systemdサービスがすでに配置されている最新バージョンのMongoDBが再インストールされます。コマンドsystemctl status mongodbを発行すると、サーバーがアクティブであることがわかります。


私は主にここから上記を貼り付けて(マイナーな修正とタイプミスの修正を加えて)コピーします- https://www.techrepublic.com/article/how-to-install-mongodb-community-edition-on-ubuntu-linux /

0
RawCode

間違ったシステムディストリビューション用にmongodbのバージョンをインストールした可能性があります。

Ubuntuおよびdebian向けにmongodbをインストールする方法をご覧ください。

http://docs.mongodb.org/manual/tutorial/install-mongodb-on-debian/http://docs.mongodb.org/manual/tutorial/install-mongodb -on-ubuntu /

私は同様の問題を抱えていました、そして何が起こったのかは、debianにubuntuパッケージをインストールしていたことでした

0