Ubuntu 15.10으로 업그레이드 한 후 MongoDB 3.0.2가 시작되지 않습니다


14

최근에 MongoDB 3.0.2가 시작되지 않은 Ubuntu 15.10으로 업그레이드했습니다.

$ 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 lock 및 로그 파일의 파일 소유권을주의 깊게 관찰해야한다고 덧붙입니다. 이 작업을 수행하려고 애 sudo service...
쓰고

4
어떤 이유로 기본 설정 파일이라고 /etc/mongod.conf하지/etc/mongodb.conf
mightyuhu

1
@mightyuhu는 올바른 경로가 없으면 오류가 발생합니다. 올바른 경로로 실패하지 않습니다.
user1063287

2
감사! 이것이 정답입니다. 한 가지 작은 점 : 서비스 이름은 mongod공식 사이트에서 사용하는 이름 이기 때문입니다. 그래서 mongodb.conf해야 mongod.conf 하고 파일 이름이어야합니다/lib/systemd/system/mongod.service
caisah

12

이 오류는 새로운 우분투 (15 이상)의 문제로 인해 발생했습니다.

기본 초기화 시스템이되어 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를 설치하고 우분투 16.04를 재부팅 한 후 비어 있습니다. 나는 회복에 가서 그것을 제거해야했다. upstart askubuntu.com/questions/760615/…
jrgd

5

우분투 15.10에서 데비안 패키지를 사용했습니다.

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 : //.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.