Mac OS에서 run-rs npm 패키지를 사용하여 localhost 독립 실행형 MongoDB 클러스터를 복제 세트로 변환하는 방법

MongoDB에 대해 자세히 알아보기 위한 여정에서 트랜잭션과 관련된 프로젝트를 진행하고 있기 때문에 데이터베이스 일관성을 보장하기 위해 트랜잭션 내에서 수행되는 모든 작업이 함께 발생하거나 함께 실패해야 합니다.

MongoDBv4.4 이상부터 트랜잭션 작업이 가능하지만 그 전에는 MongoDB 복제본 세트가 필요합니다(요컨대, 복제본 세트는 트랜잭션을 수행하는 기본 MongoDB 클러스터의 백업 복사본입니다. 중간 트랜잭션 실패 시 이러한 복사본을 사용하여 기본 MongoDB 클러스터의 이전 상태를 복원할 수 있습니다.

localhost에서 MongoDB 복제본 세트를 설정하는 방법에 대한 자습서를 찾고 있었지만 관련 항목을 찾을 수 없었습니다. 이것이 제가 이 블로그 게시물을 작성하여 며칠간의 연구를 저장하려고 하는 이유입니다.

전제 조건



내 Mac OS에는 다음 패키지 버전이 설치되어 있습니다.

➜  ~ node --version
v16.14.2

➜  ~ npm --version
8.5.0

➜  ~ brew --version
Homebrew 3.4.3

➜  ~ mongo --version
MongoDB shell version v5.0.6

# Npm globally installed packages
➜  ~ npm list -g
/usr/local/lib
├── [email protected]
├── [email protected]
└── ...


노트:
  • 변환 변경 사항을 보려면 MongoDB Compass가 설치되어 있어야 합니다(MongoDB Compass는 MongoDB UI임).
  • MongoDB 설치는 명령줄을 통해 수행되며 brew가 설치되어 있어야 합니다.
  • run-rs 설치는 npm i -g run-rs로 완료됩니다.

  • The basic installation of MongoDB on localhost is a standalone cluster, so in MongoDB Compass, when you connect to your localhost MongoDB cluster, in the left panel you will see Standalone under CLUSTER.



    독립형 MongoDB 클러스터를 복제 세트로 변환하는 단계


  • MongoDB 서비스 중지: brew services stop mongodb-community (brew services list로 서비스가 중지되었는지 확인).
  • 별도의 터미널에서 sudo run-rs --mongod를 실행합니다(--mongod 플래그는 새로운 MongoDB 설치를 생성하는 대신 이미 설치된 MongoDB 버전을 사용함을 의미합니다).
  • MongoDB Compass를 열고 localhost 클러스터에 연결합니다(mongodb-community 서비스가 중지된 경우에도 연결되어야 함).
  • MongoDB Compass의 왼쪽 패널에서 Secondary 아래에 Primary 또는 CLUSTER가 표시되어야 합니다.

  • 축하합니다. 복제 세트를 성공적으로 설정했으며 이제 트랜잭션을 사용할 수 있습니다.

    노트:
  • 독립 실행형 MongoDB 클러스터로 다시 전환하면 복제본 세트에 저장된 모든 데이터가 손실되므로 MongoDB 복제본 세트를 데이터베이스, 컬렉션 및 문서로 채울 준비가 된 일부 스크립트가 있어야 합니다.

  • MongoDB 복제 세트 클러스터를 독립 실행형 클러스터로 다시 변환


  • 터미널 실행run-rs 명령을 중지합니다.
  • (이 상태에서 일명: run-rs가 종료되고 mongodb-community 서비스도 종료됩니다. MongoDB Compass를 살펴보면 왼쪽 패널Unknown에서 CLUSTER 아래에 표시됩니다. ) . MongoDB Compass를 닫은 경우 다시 열고 localhost 클러스터에 연결을 시도하면 작동하지 않고 연결 오류가 발생합니다connect ECONNREFUSED 127.0.0.1:27017 ).
  • MongoDB 서비스를 다시 시작합니다. brew services start mongodb-community .
  • MongoDB Compass로 이동하여 localhost 클러스터에 연결하면 Standalone 아래의 왼쪽 패널CLUSTER에 표시됩니다.

  • 축하합니다: 독립 실행형 MongoDB 클러스터로 다시 전환했습니다.

    노트:
  • 독립 실행형 MongoDB 클러스터에 저장된 데이터는 복제 세트로 앞뒤로 전환해도 손실되지 않습니다.

  • 이 단계가 로컬 호스트 시스템에서 MongoDB 복제 세트를 설정하는 데 도움이 되기를 바랍니다. 클라우드(일명 MongoDB Atlass)에서 클러스터를 생성한 경우 생성된 클러스터는 자동으로 복제 세트로 설정되고 트랜잭션을 계산할 준비가 됩니다.

    솔직히 말해서 이 단계를 Windows 또는 Linux OS에서 사용할 수 있는지 잘 모르겠습니다. 시도해야 합니다.

    마지막으로 이 문서를 개선하기 위한 제안이 있으면 댓글 섹션에 남겨주세요.

    좋은 웹페이지 즐겨찾기