본문 바로가기
DevOps/CentOS

[CentOS] : MongoDB 간단 정의 및 yum을 통한 설치와 설정 셋팅

by 오주현 2022. 3. 17.
반응형

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을 통한 설치

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

댓글