Ubuntu 16.04 LTS에서 MongoDB 설치 오류 정리

Joonas' Note

Ubuntu 16.04 LTS에서 MongoDB 설치 오류 정리 본문

개발

Ubuntu 16.04 LTS에서 MongoDB 설치 오류 정리

2017. 11. 24. 21:44 joonas 읽는데 3분
  • Ubuntu 16.04 LTS 에서 MongoDB 설치 오류 몇 가지
  • 1. systemd (systemctl) 관련 오류
  • 2. 공식 매뉴얼에 누락된 것이 있다.

Ubuntu 16.04 LTS 에서 MongoDB 설치 오류 몇 가지


1. systemd (systemctl) 관련 오류

우분투에 몽고DB 설치까진 잘 되었는데 서비스 시작이 안될 때가 있다. 나는 아래와 같은 오류를 만나서 당황했다.

ubuntu@joonas-aws:~$ mongo --version

MongoDB shell version: 2.6.10

ubuntu@joonas-aws:~$ sudo service mongod status

● mongod.service

   Loaded: not-found (Reason: No such file or directory)

   Active: inactive (dead)

ubuntu@joonas-aws:~$ sudo service mongod start

Failed to start mongod.service: Unit mongod.service not found.


그리고 반복되는 재설치와 반복되는 에러 메시지..

ubuntu@joonas-aws:~$ sudo service mongo

mongo: unrecognized service

ubuntu@joonas-aws:~$ sudo service mongod

mongod: unrecognized service


대체 뭐가 문제인가싶어서 서비스 스크립트를 직접 까봤다. 근데 비어있네?

알고보니 심볼릭 링크되어있는 파일이라 수정이 불가한 상태였다.

ubuntu@joonas-aws:~$ ls /etc/systemd/system/mongodb.service

/etc/systemd/system/mongodb.service

ubuntu@joonas-aws:~$ ls -l /etc/systemd/system/mongodb*

lrwxrwxrwx 1 root root 9 Nov 24 12:10 /etc/systemd/system/mongodb.service -> /dev/null


위 링크 파일을 지우고 새로 스크립트를 작성하면 해결된다.

ubuntu@joonas-aws:~$ sudo vi /etc/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/mongod.conf


[Install]

WantedBy=multi-user.target


ubuntu@joonas-aws:~$ sudo systemctl start mongodb

ubuntu@joonas-aws:~$ sudo systemctl status mongodb

mongod.service - High-performance, schema-free document-oriented database

   Loaded: loaded (/lib/systemd/system/mongod.service; disabled; vendor preset: enabled)

   Active: active (running) since Fri 2017-11-24 12:19:58 UTC; 2s ago

     Docs: https://docs.mongodb.org/manual

 Main PID: 12854 (mongod)

    Tasks: 13

   Memory: 52.9M

      CPU: 62ms

   CGroup: /system.slice/mongod.service

           └─12854 /usr/bin/mongod --quiet --config /etc/mongod.conf


2. 공식 매뉴얼에 누락된 것이 있다.

이건 좀 억울했는데, 구글에 검색하면 매뉴얼이 다른 것이 2개 나온다.


하나는 버전이 ~/manual~/ 이고 다른 하나는 ~/v3/~ 인데, 문제는 이 두 매뉴얼이 묘하게 서로 다르다는 것이다.


[https://docs.mongodb.com/manual/tutorial/install-mongodb-on-ubuntu/]


[https://docs.mongodb.com/v3.0/tutorial/install-mongodb-on-ubuntu/]


apt 리스트 관련해서 Ubuntu 16.04 내용이 누락되어있다. 그리고 자세히 보면 deb 커맨드도 묘하게 다르다.

이 작업을 건너뛰게되면 apt-get에서 mongodb-org 를 설치할 수 없다.

ubuntu@joonas-aws:~$ sudo apt-get install -y mongodb-org

Reading package lists... Done

Building dependency tree       

Reading state information... Done

E: Unable to locate package mongodb-org

2017년 11월 현재, 몽고 DB의 버전은 3.2.17이므로 3.0 버전이 아니라면 manual을 따르는 것이 좋아보인다.

Comments