MongoDB 간단 정의 및 yum을 통한 설치와 설정 ( CentOS)
MongoDB란?
NoSQL에서 가장 많이 사용되는 데이터베이스이다. 높은 수준의 Java 기반 API를 제공하고 Spring Framework와 연동이 가능하다.
MongoDB 버전은 Community 와 Enterprise Server로 구분된다.
Enterprise Server의 추가 기능은 In-Memory Storage Engine(데이터 저장소를 메모리로 사용 가능)를 지원한다. 추가로 저장된 데이터를 암호화 하거나 LDAP, Kerveros를 통한 접근 제어가 가능하다.
MongoDB 4.xx 변화도 있다. ACID(원자성,일관성,고립성,지속성)을 제공하고 트랜젝션을 제공한다.
특히 4.2 버전부터 (샤딩을 통한)분산된 노드 및 다수 문서 동시 작업에 대한 트랜젝션을 제공한다.
MongoDB 설치
- 설치 방법
- yum 레파지토리 생성을 통한 설치
- 권장한다. 환경변수 설정, 관리가 수월하다.
- tar.gz 압축 파일 설치
- yum 레파지토리 생성을 통한 설치
Yum을 통한 설치
MongoDB는 CentOS에서 기본적으로 제공하는 레파지토리에 존재하지 않는다. 레파지토리를 추가해야 한다.
vi /etc/yum.repos.d/mongodb-org-5.0.repo
vi 편집기를 통해 레파지토리 정보를 생성한다.
[mongodb-org-5.0]name=MongoDB Repositorybaseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/5.0/x86_64/gpgcheck=1enabled=1gpgkey=https://www.mongodb.org/static/pgp/server-5.0.asc
yum install -y mongodb-org
버전 확인
mongo -version
MongoDB 환경 설정
데이터 저장 폴더 생성
/mongoData/db
로그 저장 폴더 생성
/mongoData/log
cd /
mkdir -p /mongoData/db
mkdir -p /mongoData/log
cd /mongoData/
ll
vi /etc/mongod.conf
접근 제어, 저장소 등 MongoDB 환경 설정 파일
# where to write logging data.
systemLog:
destination: file
logAppend: true
path: /mongoData/log/mongod.log
# Where and how to store data.
storage:
dbPath: /mongoData/db
Journal:
enabled: true
# engine:
# wiredTiger:
# how the process runs
processManagement:
fork true
pidFilePath: /var/run/mongodb/mongod.pid
timeZoneInfo: /usr/share/zoneinfo
# network interfaces
net:
port: 27017
bindIp: 0.0.0.0
MongoDB 로그 저장 위치와 데이터 저장 위치를 설정하고 맨 아래 0.0.0.0으로 외부 접속 IP 및 포트를 설정한다.
MongoDB 시작
mongod --config /etc/mongod.conf
환경 설정 파일을 로딩하여 MongoDB 실행
cd /mongoData/db
데이터 생성을 확인한다.
cd /mongoData/log/
로그 생성을 확인한다.
MongoDB 종료
종료는 프로세스를 kill하는 방법 밖에 없다.
ps -ef | grep mongod
kill -9 프로세스ID
방화벽 해제
클라이언트 툴 및 Java 개발을 위해 외부 접속을 허용해야 한다.
firewall-cmd --permanent --zone=public --add-port=27017/tcp
27017 포트 방화벽을 추가한다.
firewall-cmd --reload
방화벽 적용한다.
firewall-cmd ---list-all
방화벽 적용 확인한다.
보안 설정
MongoDB를 종료하고 아래 설정을 완료한 뒤 재시작 해준다.
vi /etc/mongod.conf
#network interfaces
net:
port: 27017
bindIp: 0.0.0.0
security:
authorization: enabled
마지막 security를 추가한다.
'DevOps > CentOS' 카테고리의 다른 글
[CentOS] : 센트os 다운로드 및 설치 방법 (0) | 2021.12.02 |
---|
댓글