sourcetip

ubuntu 16.04 LTS에서 mongodb 실행

fileupload 2023. 5. 28. 21:01
반응형

ubuntu 16.04 LTS에서 mongodb 실행

Ubuntu 16.04 LTS에서 Mongodb를 서비스로 실행하려면 어떻게 해야 합니까?며칠 전에 서버를 Ubuntu 16.04로 업그레이드했습니다.재부팅할 때 MongoDB 서비스가 시작되지 않습니다.사용하려고 합니다.

sudo initctl 시작 mongod

속임수를 쓰지 않았습니다.이 문제를 해결할 방법을 아는 사람?

Ubuntu 16.04(Ubuntu Xenial xerus라고도 함)를 업그레이드하거나 설치한 사용자는 이전 서비스의 실행이 중지되었음을 알게 되었습니다.이 문제는 버전 15.04부터 알려져 있지만 위 버전에 중점을 두겠습니다.

MongoDB의 경우도 그랬습니다.긴 이야기를 간단히 말하자면, Ubuntu는 upstart에서 systemd로 전환했습니다.이러한 문제에 대한 일반적인 해결책 중 하나는 다시 시작으로 전환하는 것입니다.저는 그 옵션을 장기적으로는 확실히 아닌 진정한 해결책으로 생각하지 않습니다.

이 문제에 대한 진정한 해결책은 MongodDB를 시작할 systemd 스크립트를 작성하는 것입니다.불행하게도 MongoDB 사람들은 아직 하나를 공급하지 않았습니다.

그래서 처음부터 다시 써야 했습니다.사용자가 직접 작성하려면 다음 단계를 수행합니다.

  1. 를 사용하여 루트로 전환
    스도수

또는 다음의 모든 단계에 sudo를 사용합니다.

  1. 서비스 스크립트 생성(이 예에서는 서비스 이름이 Mongodb임)

    나노/lib/systemd/systemd/mongodb. 서비스
  2. 파일 내용은 다음과 같아야 합니다.

    [단위]설명=MongoDB 데이터베이스 서비스= network.target을 원합니다.= network.target 이후
    [서비스]ExecStart=/usr/bin/mongod --config /etc/mongod.confExecReload=/bin/kill - HUP $MAINPID= 항상 다시 시작사용자=mongodb그룹=mongodb표준 출력 = 신호표준 오류 = 오류
    [설치]= 다중 사용자.target에 의해 수배됨

다음에서 파일을 다운로드할 수도 있습니다. mongodb.service
다음은 중요한 필드에 대한 간단한 설명입니다.
ExecStart - 실행할 명령입니다.Mongo는 /usr/bin 아래에 설치되며 구성 파일은 /etc에 기록됩니다.
사용자 - mongod 프로세스의 UID입니다.
그룹 - 몽고드 프로세스의 그리드입니다.사용자 및 그룹은 설치를 통해 생성됩니다.

이제 mongodb를 시작합니다.

sudo systemctl start mongodb

mongodb 서비스를 중지하려면 다음을 사용합니다.

sudo systemctl stop mongodb

시작할 때 mongodb를 실행하려면 다음과 같이 하십시오.

sudo systemctl enable mongodb.service

서비스를 새로 고쳐야 하는 경우 다음을 사용합니다.

 sudo systemctl daemon-reload

MongoDB의 최신 버전은 현재 한 가지를 제외하고 대부분의 작업을 수행합니다. 설치 후MongoDBUbuntu 16.04.x다음과 같이 명령을 실행합니다.

$ sudo systemctl enable mongod.service
$ sudo systemctl daemon-reload

아마 금은지.mongod모든 부팅에서 자동으로 시작됩니다.


이 솔루션은 다음 오류가 발생하는 경우에도 작동합니다.

mongod를 시작하지 못했습니다.서비스:유닛 몽고드.서비스를 찾을 수 없습니다.

위 명령을 실행한 후 아래 명령이 작동하기 시작합니다.

$ sudo service mongod start
$ mongo

마찬가지로, 설치된 모든 서비스를 실행할 수 있도록 설정해야 합니다.예를 들어, Ops Manager(일명 MMS)를 설치한 후에는 아래의 권장 사항을 실행하도록 설명서에 나와 있습니다.

sudo systemctl start mongodb-mms.service

Ubuntu가 서비스를 시작하지 않을 가능성이 높습니다.아직 활성화되지 않았기 때문입니다.활성화하려면 아래 명령을 실행하십시오.

$ sudo systemctl enable mongodb-mms.service
$ sudo systemctl daemon-reload

그런 다음 서비스를 시작해 보십시오.

$ sudo systemctl enable mongodb-mms.service

그게 다야...

새로 설치를 원하는 사용자를 위한 제품

저는 이것 때문에 1시간 동안 고생하고 있습니다.그런 다음 이 페이지를 발견했습니다. 설치하는 것은 다음을 수행하는 것만큼이나 쉽습니다.

sudo apt-get update
sudo apt-get install mongodb

그런 다음 모든 것이 작동하는지 확인합니다.

sudo service mongodb status

이것이 당신에게 효과가 있는지 알려주세요!

3.2+용 패키지에는 시작 스크립트가 포함되어 있습니다.

먼저 공식 지침에 따라 다음을 설치합니다.

# If you installed the ubuntu package, remove it, if not skip to key import
sudo apt-get remove mongodb
sudo apt-get autoremove
# import key
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv EA312927
# add trusty repos
echo "deb http://repo.mongodb.org/apt/ubuntu trusty/mongodb-org/3.2 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.2.list
# update apt
sudo apt-get update
# install the package
sudo apt-get install -y mongodb-org

그런 다음 마스크를 벗습니다.mongodb.service작업(및 활성화 및 시작).패키지에 새로 시작하는 작업도 포함되어 있기 때문에 둘 다 시작하는 것을 원하지 않을 것이기 때문에 마스킹된 것 같습니다.하지만, 우리의 경우, 이것은 분명히 우리가 원하는 것입니다.

sudo systemctl unmask mongodb
sudo service mongod start

참조:

관련 JIRA 문제

어스크 우분투 관련 질문

sudo systemctl start mongod

Ubuntu Linux 16.04에서 작동했습니다.

언급URL : https://stackoverflow.com/questions/37014186/running-mongodb-on-ubuntu-16-04-lts

반응형