Notice
Recent Posts
Recent Comments
Link
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
Archives
Today
Total
관리 메뉴

소울메이커

CentOS에 MongoDB 설치부터 실행까지(using tgz Tarball) 본문

프로그래밍

CentOS에 MongoDB 설치부터 실행까지(using tgz Tarball)

언젠간 프로 2021. 1. 13. 17:04

다운로드

파일은 무료로 사용할 수 있는 MongoDB 커뮤니티 버전을 다운로드 받는다.

MongoDB Community Server 다운로드 페이지 바로가기

 

MongoDB Community Download

Download the Community version of MongoDB's non-relational database server from MongoDB's download center.

www.mongodb.com

다운로드 받을 파일 선택 

  1. Version : 4.4.3(current), 최신 버전 선택, 현재 기준 최신 버전은 4.4.3(current)
  2. Platform : RedHat / CenOS 7.0
  3. Package : tgz

설치

설치를 위해 필요한 리눅스 패키지 설치

sudo yum install libcurl openssl xz-libs

다운로드 받은 tgz 파일 압축 풀기

tar -zxvf mongodb-linux-*-4.4.2.tgz

바이너리 파일 이동

sudo cp /path/to/the/mongodb-directory/bin/* /usr/local/bin/

설정

Ulimit 설정

파일 기반의 리눅스에서 MongoDB 구동 시 가용 파일수가 초괄경우 동작하지 않을 수 있으므로

ulimit을 이용하여 open file 수를 조정한다.

sudo ulimit -n 64000

기본 디렉토리 생성

MongoDB 설치를 tgz를 이용하여 직접 설치를 하였기 때문에 필요한 것들을 직접 구성 해 주어야 한다.

DB 구동 시 필요한 lib 디렉토리와 로그 파일을 보관 할 디렉토리를 만든다.

sudo mkdir -p /var/lib/mongo
sudo mkdir -p /var/log/mongodb

MongoDB는 기본 mongod라는 사용자를 이용한다. 하지만 본인은 root 계정을 사용할 것이므로 계정은 별도로 만들지 않는다. 

다만 참고를 위하여 방법을 남기도록 한다.

sudo chown -R mongod:mongod <directory>
  • -R : 지정한 디렉토리 기준 모든 하위 경로에 동일하게 적용할 때 사용


설정 파일 구성

MongoDB 구동 시 적용 할 옵션 정보를 /etc/mongod.conf 파일에 작성한다. 이 파일 또한 직접 생성해야 한다.

mongod.conf 파일 생성

# /etc 경로에 mongod.conf 파일을 생성한다.
touch /etc/mongod.conf

# mongod.conf 파일을 작성한다.
vi /etc/mongod.conf

mongod.conf 파일 내용

processManagement:
   fork: true
net:
   bindIp: 0.0.0.0
   port: 27017
storage:
   dbPath: /var/lib/mongo
systemLog:
   destination: file
   path: "/var/log/mongodb/mongod.log"
   logAppend: true
storage:
   journal:
      enabled: true
  • fork : true 로 설정할 경우 MongoDB가 데몬 모드로 실행된다. 
  • bindIp: 기본 localhost로 설정되며 모든 IPv4 를 허용하기 위하여 0.0.0.0으로 설정한다.
  • port : MongoDB에서 사용 할 포트를 설정한다. 기본은 27017
  • dbPath : data 파일이 저장되는 경로이다. 
  • systemLog.path : 로그 파일이 생성 될 경로이다. 
  • systemLog.logAppend : true로 설정할 경우 MongoDB를 시작할때마다 기존 로그 파일을 새로쓰지 않는다. 
  • storage.journal : enabled을 true로 설정할 경우 단일 인스턴스 구동에 대한 쓰기 지속성을 보장한다.

MongoDB 실행

mongod 명령만 입력하여도 구동이 되지만 위에서 열심히 작성한 설정 정보를 반영하기 위해

command 옵션을 이용하여 실행한다.

mongod --config /etc/mongod.conf

MongoDB 중지

서버를 중지하기 위해서는 mongo 명령을 실행한 후 shutdown 명령을 내려야 한다. 

# mongo 명령을 수행하여 mongo shell 접근
mongo

# 어드민 전환
db admin

# 중지
db.shutdownServer()

# 나가기
exit