MongoDB: 레플리카 셋 구축 가이드

2026. 3. 18. 12:55·📊DB/MongoDB

 

MongoDB 레플리카 셋 구축 가이드

  • 몽고디비 레플리카 셋 구축.

ON-premise 서버 교체로 인해 몽고디비 레플리카셋 테스트의 기록

몽고디비를 같은 버전으로 설치

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

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

몽고디비 4.0.28 버전 설치

sudo yum install -y mongodb-org-4.0.28

설치되는 것들


• mongodb-org-server: MongoDB 서버
• mongodb-org-mongos: MongoDB의 라우팅 서버
• mongodb-org-shell: MongoDB 셸 도구
• mongodb-org-tools: 백업 및 복구 도구

🚨 몽고디비 config 파일 구성을 바꾸거나, security 관련해서 키파일을 넣어주면 systemctl 로는 몽고디비 실행 불가.

mongod --config /etc/mongod.conf

이 명령어로 실행해야 함

한개의 서버에 포트를 나누어 몽고디비 2개 실행

포트를 나누는 conf 파일을 하나 더 만든다. 기존 mongod.conf 파일을 copy => mongod02.conf로..

  • 바뀌는 부분.
  • path: /var/log/mongodb02/mongod02.log
    dbPath: /var/lib/mongo02
    pidFilePath: /var/run/mongodb/mongod02.pid
  • 디렉토리는 직접 생성해줘야 함.
  • chmod, chown 둘 다 확인해야 함. => 안그러면 오류남.
# mongod02.conf

---
# for documentation of all options, see:
#   http://docs.mongodb.org/manual/reference/configuration-options/
# where to write logging data.
systemLog:
  destination: file
  logAppend: true
  logRotate: rename
  path: /var/log/mongodb02/mongod02.log
# Where and how to store data.
storage:
  dbPath: /var/lib/mongo02
  journal:
    enabled: true
#  engine:
#  mmapv1:
#  wiredTiger:
# how the process runs
processManagement:
  fork: true  # fork and run in background
  pidFilePath: /var/run/mongodb/mongod02.pid  # location of pidfile
  timeZoneInfo: /usr/share/zoneinfo
# network interfaces
net:
  port: 27018
  # bindIp: 127.0.0.1  # Enter 0.0.0.0,:: to bind to all IPv4 and IPv6 addresses or, alternatively, use the net.bindIpAll setting.
  bindIp: 0.0.0.0
security:
  keyFile: /etc/mongodb.key
  authorization: enabled
#operationProfiling:
replication:
  replSetName: rs0
#sharding:
## Enterprise-Only Options
#auditLog:
#snmp:
  • 실행 하려면..
mongod --config /etc/mongod02.conf

### 설정 포트에 몽고디비 접속하려면.
mongo --port 27018

replica set 설정

먼저 primary로 원하는 서버에 들어가 mongo shell 접속. mongo shell 에서,

use admin
-> 계정을 안만들었으면, conf 파일에서 security를 주석 처리해준 다음, mongo shell 다시 들어와 admin 계정 생성.
만든 다음, conf 파일에서 security 주석 제거 한 다음, mongo shell 들어와서,
rs.initiate({
  _id: "설정한 레플리카 셋 이름",
  members: [
    { _id: 0, host: "primary_host:27017" },     // Primary 노드
    { _id: 1, host: "secondary_host_1:27017" }, // Secondary 노드
    { _id: 2, host: "secondary_host_2:27017" }  // Secondary 노드
  ]
})
이런식으로, 코드 날리기.

rs.status() 로 상태확인 하기

포트는 열려 있어야 함. 포트 안열리면 통신 안됨 (27017)

저작자표시 비영리 변경금지 (새창열림)

'📊DB > MongoDB' 카테고리의 다른 글

MongoDB: Replica Set Secondary Node 동기화 시간 확인하는 방법  (1) 2026.03.20
MongoDB: DB 다운 시 재가동 방법  (0) 2026.03.20
MongoDB: wiredTiger engine 파일 찾는 법  (0) 2026.03.20
MongoDB: TooManyLogicalSessions 에러  (0) 2026.03.20
MongoDB: Logical Session vs 일반 Session  (0) 2026.03.18
'📊DB/MongoDB' 카테고리의 다른 글
  • MongoDB: DB 다운 시 재가동 방법
  • MongoDB: wiredTiger engine 파일 찾는 법
  • MongoDB: TooManyLogicalSessions 에러
  • MongoDB: Logical Session vs 일반 Session
Diven
Diven
  • Diven
    Diven
    Diven
  • 전체
    오늘
    어제
    • 분류 전체보기 (110) N
      • ☁️Cloud (21) N
        • AWS (2)
        • Alibaba (14) N
        • OCI (1)
        • AWS: Certified Solution Arc.. (0)
        • AWS: Certificate Advanced N.. (2) N
      • 📊DB (13)
        • MongoDB (8)
        • MariaDB (2)
        • PostgreSQL (2)
        • MySQL (1)
      • 🧑🏽‍💻Dev:Lang (9)
        • C++ (0)
        • GO (1)
        • Python (8)
      • ⚙️DevOps (4)
        • CICD (0)
        • Jenkins (4)
      • 🐳Docker (15)
      • 🪢laC (0)
      • ⚓K8s (7)
      • 🐧Linux (25)
      • 🖥️Monitoring (10)
        • Grafana (1)
        • Prometheus (6)
        • Loki (1)
        • ELK (2)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    알리바바 클라우드
    mongoDB
    k8s
    alertmanager
    jenkins
    db
    SSL
    prometheus
    AWS
    Python
    MySQL
    PolarDB
    Alibaba
    centOS7
    Cloud
    NGINX
    docker
    mariadb
    alb
    linux
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.6
Diven
MongoDB: 레플리카 셋 구축 가이드
상단으로

티스토리툴바