몽고DB mongod.cfg 설정 옵션들 의미

MongoDB를 설치하면 리눅스의 경우 mongod.conf가, 윈도우는 mongod.cfg 파일이 생성됩니다. 해당 파일은 몽고DB 서버의 옵션과 설정하는 파일입니다.

mongod.cfg

몽고DB의 데몬 프로세스를 mongod라고 부릅니다. 그러니 mongod.cfg 또는 mongod.conf는 몽고DB 프로세스의 configuration(구성)을 의미합니다. 이 파일은 YAML 형식입니다.

 

mongod.cfg 옵션들

1. systemlog

시스템 로그를 쌓는 위치와 로그 레벨을 결정합니다.

systemLog:
  destination: file
  path: /var/log/mongodb/mongod.log
  logAppend: true
  verbosity: 1


2. processManagement

몽고db 서버에 대한 fork 활성화 여부, PID 파일 경로, 시간정보 등 프로세스 구성을 정합니다.

processManagement:
  fork: true
  pidFilePath: /var/run/mongod.pid
  timeZoneInfo: /usr/share/zoneinfo

 

3. cloud

클라우드 설정을 구성합니다. 클라우드 공급자 설정, 모니터링을 활성화 할 수 있습니다.

cloud:
  provider: AWS
  monitoring:
    state: on

 

4. net

몽고db 서버에 대한 네트워크 설정을 정합니다.

net:
  bindIp: 127.0.0.1,192.168.0.1
  port: 27017
  ssl:
    mode: preferSSL
    PEMKeyFile: /etc/ssl/mongodb.pem

 

5. security

몽고db에 대한 보안 설정을 구성합니다. 인증을 활성화할 수 있습니다.

security:
  authorization: enabled
  clusterAuthMode: keyFile
  keyFile: /etc/mongodb-keyfile

 

6. setParameter

몽고db 서버에 대한 런타임 매개변수를 설정합니다.

setParameter:
  maxConnections: 200
  maxBsonSize: 16777216

 

7. storage

스토리지 설정을 구성합니다. db가 저장되는 경로를 정할 수 있습니다.

storage:
  dbPath: /var/lib/mongodb
  journal:
    enabled: true
    directoryPerDB: true

 

8. operationProfiling

프로파일링 설정을 구성합니다.

operationProfiling:
  mode: slowOp
  slowOpThresholdMs: 100

 

9. replication

복제 설정을 구성합니다.

replication:
  replSetName: rs0
  oplogSizeMB: 1024
  members:
    - _id: 0
      host: mongodb1.example.com:27017
    - _id: 1
      host: mongodb2.example.com:27017

 

10. sharding

샤딩 설정을 구성합니다. 샤딩은 여러 서버에 걸쳐 데이터를 수평으로 분할하는 방법을 말합니다. 대규모 데이터를 다루기 위해 사용됩니다. 

sharding:
  clusterRole: shardsvr
  configDB: cfg1.example.com:27019,cfg2.example.com:27019,cfg3.example.com:27019

 

11. auditLog

감사 로그 설정을 구성합니다.

auditLog:
  destination: file
  format: JSON
  path: /var/log/mongodb-audit.log
  filter:
    users:
      - { user: alice, db: test }
      - { user: bob, db: admin }

 

12. snmp

SNMP(Simple Network Management Protocol) 설정을 구성합니다.

snmp:
  subagent: true
  master: true
  port: 9161
  community: public

 

설정 파일 수정 시 주의사항

1. 구성 파일이 YAML 형식을 따른 다는 걸 염두해야 합니다.

YAML에서는 들여쓰기에 탭 문자를 지원하지 않습니다. 공백(스페이스바)를 이용해야 합니다. 따옴표("") 사용에 유의해야 합니다. 예를 들어, security 섹션에서 아래와 같이 설정하면 몽고db가 시작되지 않는 오류가 발생합니다. 설정을 문자열로 인식하기 때문입니다.

authorization: "enabled"

 

아래와 같이 설정해야 정상 인식합니다.

authorization: enabled

 

2. 구성 설정을 바꾼 뒤에는 몽고db를 재시작해야 변경 값이 반영됩니다.

 

각 옵션에 대한 자세한 사항은 아래의 몽고db 매뉴얼을 참고해보세요.

 

https://docs.mongodb.com/manual/reference/configuration-options/

 

Configuration File Options — MongoDB Manual

Docs Home → MongoDB Manual The following page describes the configuration options available in MongoDB 6.0. For configuration file options for other versions of MongoDB, see the appropriate version of the MongoDB Manual.You can configure mongod and mongo

www.mongodb.com

 

반응형

댓글

Designed by JB FACTORY