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를 사용해야 합니다.
사용해 보십시오.
기mongodb
에 mongod
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'
이제 두 가지 옵션이 있습니다.
- (SysV에서 계속) 위에서 언급한 @kylo와 같이 sysV init 스크립트를 수동으로 작성합니다.
- (D 시스템으로 전환) 및 실행
systemctl start mongod
저에게 도움이 된 것은 아무것도 없습니다. 결국 해결책이 생겼습니다.
를 만들다/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를 사용하는 경우 인식할 수 없는 서비스 오류가 발생하면 다음 지침에 따라 해결됩니다.
- 터미널 창을 엽니다.
- 을 합니다.
sudo apt-key adv —keyserver hkp://keyserver.ubuntu.com:80 —recv EA312927
- 을 합니다.
sudo touch /etc/apt/sources.list.d/mongodb-org.list
- 을 합니다.
sudo gedit /etc/apt/sources.list.d/mongodb-org.list
- 릴리스에 따라 아래의 다음 행 중 하나를 복사하여 열린 파일에 붙여넣습니다.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를 사용하는 경우 시작에서 systemd로의 전환으로 인해 mongodb: 인식되지 않는 서비스라는 오류가 표시되는 문제가 발생할 수 있습니다.이 문제를 피하기 위해서는 다음 단계를 따라야 합니다.
추가한 경우
/etc/apt/sources.list.d/mongodb-org.list
명령어로 제거합니다.sudo rm /etc/apt/sources.list.d/mongodb-org.list
명령을 사용하여 apt
sudo 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
'source' 카테고리의 다른 글
Mongoose - 문자열 배열 저장 (0) | 2023.05.15 |
---|---|
현재 git 브랜치의 이름을 셸 스크립트의 변수로 가져오는 방법은 무엇입니까? (0) | 2023.05.15 |
require를 통해 호출되는지 아니면 명령줄을 통해 직접 호출되는지 탐지 (0) | 2023.05.15 |
fatal: 초기 EOF fatal: 인덱스 팩 실패 (0) | 2023.05.15 |
작업과 스레드의 차이점 (0) | 2023.05.15 |