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 경로의 파일에 별도의 설정을 하지 않는 경우 기본설정 값으로 구동됨.
★ 설정과 관련된 상세정보는 아래의 주소에 잘 정리되어 있습니다.
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
'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 |