본문 바로가기

DATABASE/Mongo DB

01. Cent OS Mongo DB 설치

0. 설치환경

 - OS : CentOS 7

 - Mongo DB Version : 3.4

1. CentOS yum 저장소 추가

Mongo DB 설치 패키지 Cent OS의 기본리포지터리에 포함되지 않기 때문에 실제 Mongo DB  설치파일을 물리적인 디스크에 다운로드 받을 위치를 지정하는 작업

sudo vi /etc/yum.repos.d/mongodb-org.repo

2. yum 설정 파일 확인 및 변경

위 의 명령 실행 시 파일이 없는 경우 자동으로 생성됬는데 아래와 같이 입력하면 지정한 경로의 URL에서 파일을 다운로드 받으며 설치버전을 지정할 수 있다.

[mongodb-org-3.4]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.4/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-3.4.asc

3. 설치파일 다운로드 확인

위의 설정파일에 지정한 몽고 DB 설치파일이 다운로드된 목록을 확인 할 수 있다.

yum repolist

repo id                          repo name
base/7/x86_64                    CentOS-7 - Base
extras/7/x86_64                  CentOS-7 - Extras
mongodb-org-3.2/7/x86_64         MongoDB Repository

4. 설치파일 다운로드 확인

터미널창에 sudo yum install -y mongodb-org 명령을 입력하여 Mongo DB를 설치한다.

 

sudo yum install -y mongodb-org

Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
epel/x86_64/metalink                                                                                                                                                                            | 7.1 kB  00:00:00
 * epel: ftp.riken.jp
base                                                                                                                                                                                            | 3.6 kB  00:00:00
extras                                                                                                                                                                                          | 3.4 kB  00:00:00
mongodb-org-4.0                                                                                                                                                                                 | 2.5 kB  00:00:00
updates                                                                                                                                                                                         | 3.4 kB  00:00:00
Resolving Dependencies
--> Running transaction check
---> Package mongodb-org.x86_64 0:4.0.12-1.el7 will be installed
--> Processing Dependency: mongodb-org-tools = 4.0.12 for package: mongodb-org-4.0.12-1.el7.x86_64
--> Processing Dependency: mongodb-org-shell = 4.0.12 for package: mongodb-org-4.0.12-1.el7.x86_64
--> Processing Dependency: mongodb-org-server = 4.0.12 for package: mongodb-org-4.0.12-1.el7.x86_64
--> Processing Dependency: mongodb-org-mongos = 4.0.12 for package: mongodb-org-4.0.12-1.el7.x86_64
--> Running transaction check
---> Package mongodb-org-mongos.x86_64 0:4.0.12-1.el7 will be installed
---> Package mongodb-org-server.x86_64 0:4.0.12-1.el7 will be installed
---> Package mongodb-org-shell.x86_64 0:4.0.12-1.el7 will be installed
---> Package mongodb-org-tools.x86_64 0:4.0.12-1.el7 will be installed
--> Finished Dependency Resolution

5. 로그 디렉토리 생성 

storage라는 디렉토리안에 data 폴더를 만들어 mongolog라는 파일명으로 기록하도록 구성

로그가 남는 시점을 몽고 DB를 시작 후 확인가능하며 구동이 안되는 원인이나 오류 발생 시 해당 디렉토리의 로그파일 확인합니다.

 


[centos@ /]$ cd storage
[centos@ storage]$ sudo mkdir data
[centos@ storage]$ ls
data  lost+found
[centos@ storage]$ cd data
[centos@ data]$ sudo mkdir mongodbdata
[centos@ data]$ ls
mongodbdata
[centos@ data]$ cd mongodbdata/
[centos@ mongodbdata]$ ls
[centos@ mongodbdata]$ pwd
/storage/data/mongodbdatacd .
[centos@ storage]$ sudo mkdir mongodblog
[centos@ /]$ sudo chmod 777 -R /storage/masterlog
[centos@ /]$ sudo chmod 777 -R /storage/data

6. Mongo DB 설정파일 변경

 6.1 설치 후 /etc/mongod.conf 경로의 파일에 별도의 설정을 하지 않는 경우 기본설정 값으로 구동됨.

 ★ 설정과 관련된 상세정보는 아래의 주소에 잘 정리되어 있습니다.

  http://blog.naver.com/PostView.nhn?blogId=theswice&logNo=220763046938&redirect=Dlog&widgetTypeCall=true

 

mongod 옵션정리

General options: -h [ --help ] 도움말 출력 --version 버전 정보 출력 -f [ --config ] config 경로 및 ...

blog.naver.com

 

6.2 journal: enabled: true 설정 값 의미

저널링(Journaling) 이란?
- 스토리지에 데이터를 저장하기 전에 Journal 영역에 데이터의 변경 이력을 저장하고, 스토리지에 데이터 변경 내역을 저장하는 활동을 의미한다.

저널링의 목적은?
- 시스템 장애등 스토리지에 장애가 발생하였을 경우, 스토리지의 장애복구 과정을 빠른 시간에 원활하게 처리할 수 있도록 하기 위함

// 관리자권한 sodo로 실행할 것 편집 시
vi /etc/mongod.conf -- vi 열기

// 로그디렉토리 지정
systemLog:
  destination: file
  logAppend: true
  path: /storage/mongodblog/mongod.log

// DATA 파일 디렉토리 지정
storage:
  dbPath: /storage/data/mongodbdata
  journal:
    enabled: true
#  engine:
#  mmapv1:
#  wiredTiger:


// 프로세스 구동관련 설정
processManagement:
  fork: true  # fork and run in background
  pidFilePath: /var/run/mongodb/mongod.pid  # location of pidfile
  timeZoneInfo: /usr/share/zoneinfo


// 포트 몽고 DB 기본포트는 27017을 사용함
net:
  port: 27017
  bindIp: 0.0.0.0


// 리플레케이션셋 지정시 각각의 셋트에 같은 이름을 지정함.
replication:
  replSetName: "[리플리케이션셋이름]"

7. OS 포트열기

외부에서 접근 시 가능하도록 포트를연다.

 

[centos@storage]$ sudo semanage port -a -t mongod_port_t -p tcp 27017

8. DB 구동

MongoDB 구동 시 오류 메시지를 표출하면 지정한 로그디렉토의 로그파일을 확인하면 상세정보를 확인할 수 있습니다.

// 몽고 DB 실행
sudo service mongod start

// 몽고 DB 종료
sudo service mongod stop

// 몽고 DB 상태조회
sudo service mongodb status

// 몽고 DB 재시작
sudo service mongodb restart

 

 

참고자료 

https://dayntimes.tistory.com/1239

 

저널링(Journaling) 이란

저널링(Journaling) 이란? - 스토리지에 데이터를 저장하기 전에 Journal 영역에 데이터의 변경 이력을 저장하고, 스토리지에 데이터 변경 내역을 저장하는 활동을 의미한다. 저널링의 목적은? - 시스템 장애등 스..

dayntimes.tistory.com

 

 

'DATABASE > Mongo DB' 카테고리의 다른 글

04.Mongo DB 모니터링  (0) 2019.12.26
05. Mongo DB 데이터 삭제  (0) 2019.12.26
03. Mongo DB - Commend 활용 / 계정 생성  (0) 2019.12.26
02. Mongo DB 서비스 등록 ( centos )  (0) 2019.12.26
00.No SQL 데이터베이스  (0) 2019.11.21