source

sudo service mongodb restart는 Ubuntu 14.0.4에서 "비활성화된 서비스 오류"를 제공합니다.

manysource 2023. 5. 15. 22:22

sudo service mongodb restart는 Ubuntu 14.0.4에서 "비활성화된 서비스 오류"를 제공합니다.

방금 unbu 14.0.4에 mongoDB를 설치했습니다.셸을 시작하려고 했지만 연결 거부 오류가 발생합니다.

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

내가 지금까지 시도한 것:

나는 여기서 또 다른 게시물을 발견했습니다: 몽고 잠금 파일을 제거하는 것에 대해 언급한 몽고드바수도를 시작할 없습니다.

잠금 파일을 삭제한 다음 명령을 다시 시도했지만 아래와 같이 여전히 실패합니다.

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 service mongodb를 사용해야 합니다.

사용해 보십시오.

mongodbmongod

sudo service mongodb status

어느 날 같은 오류가 발생했습니다. 이 오류를 사용해야 합니다.

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)

나에게 해결책은 대체하는 것이었습니다.

service mongod start

와 함께

start mongod

파일(예: /etc/init.d/mongodb)에 실행 권한이 있는지 확인해야 합니다.

chmod +x /etc/init.d/mongodb

데비안의 경우, 2.4.x와 2.6.x 사이의 10gen repo에서 init 스크립트의 이름을 /etc/init.d/mongodb로 변경하고, 기본 구성 파일의 이름을 /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

공식 사이트의 매뉴얼을 사용하여 데비안 제시에 몽고 서버를 설치했습니다.

권장 명령 후 시작되지 않았습니다.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'

이제 두 가지 옵션이 있습니다.

저에게 도움이 된 것은 아무것도 없습니다. 결국 해결책이 생겼습니다.

를 만들다/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

사용할 수 있습니다.mongod를 입력합니다.mongodb와 관련된 링크에서 내 대답을 사용할 수 . mongo는 dbpath와 관련된 것입니다.

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

WSL(Windows Subsystem for Linux)에서 Ubuntu를 실행하는 경우 WSL이 현재 systemd를 지원하지 않기 때문에 문제가 발생합니다.

아래 링크는 systemd 없이 MongoDB를 실행하는 방법과 WSL과 함께 service 명령을 사용하기 위한 스크립트를 추가하는 방법을 설명합니다.

https://learn.microsoft.com/en-us/windows/wsl/tutorials/wsl-database#mongodb-init-system-differences

튜토리얼은 운영 체제의 내장 init 시스템을 사용하여 MongoDB를 시작할 수 있습니다.자습서 또는 문서에 sudo system ctl status mongodb 명령이 사용될 수 있습니다.현재 WSL은 systemd(Linux의 서비스 관리 시스템)를 지원하지 않습니다.

차이를 눈치채면 안 되지만 튜토리얼에서 sudo system ctl을 사용할 것을 권장하는 경우 sudo /etc/init.d/를 사용합니다.예를 들어 sudo system ctl status docker를 WSL의 경우 sudo /etc/init.d/docker status...라고 입력하거나 sudo 서비스 docker 상태를 사용할 수도 있습니다.

시스템 디스트리뷰터의 mongodb 버전을 잘못 설치하신 것 같습니다.

unbuntu 및 debian용 mongodb를 설치하는 방법을 살펴봅니다.

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

저도 비슷한 문제가 있었는데, 무슨 일이 일어났는지는 제가 debian에서 unbuntu 패키지를 설치하는 중이었습니다.

원본 출처 - 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 multiverse14.04의 경우:deb http://repo.mongodb.org/apt/ubuntu trusty/mongodb-org/3.6 multiverse16.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를 사용하는 경우 시작에서 systemd로의 전환으로 인해 mongodb: 인식되지 않는 서비스라는 오류가 표시되는 문제가 발생할 수 있습니다.이 문제를 피하기 위해서는 다음 단계를 따라야 합니다.

  • 추가한 경우/etc/apt/sources.list.d/mongodb-org.list명령어로 제거합니다.sudo rm /etc/apt/sources.list.d/mongodb-org.list

  • 명령을 사용하여 aptsudo apt-get update

  • 다음 명령을 사용하여 표준 리포지토리에서 공식 MongoDB 버전을 설치합니다.sudo apt-get install 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/

이것은 저에게 동일한 문제로 작용했던 간단한 해결책입니다(제 생각에는). 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

언급URL : https://stackoverflow.com/questions/26852138/sudo-service-mongodb-restart-gives-unrecognized-service-error-in-ubuntu-14-0-4