복붙노트

[MONGODB] 동일한 서버에 MongoDB를의 여러 인스턴스

MONGODB

동일한 서버에 MongoDB를의 여러 인스턴스

나는 몽고 DB와 함께 일하고 나는 그것에 초보자입니다. 나는 몽고을 위해 특별히 서버에 설치에 대해 생각합니다.

나는 그것의 2 개 인스턴스를 생성하고 싶습니다 - 1은 스테이징 환경을 지원하기 위해, 다른 품질 보증 환경을 지원합니다.

나는 여러 인스턴스를 만들 수 있습니다 SQL 서버에 익숙해입니다.

그렇게하면 MongoDB를 사용하여 동일한 작업을 수행하는 것이 가능하고, 어떻게?

해결법

  1. ==============================

    1.상기의 대답은 대부분의 경우에있는 것은 당신이 무엇을하지 않습니다 (서버가 동시에 실행 할 수있는 경우에 특히)는 예를 logpath 및 pidfilepath에 대한 같은 동일한 구성 매개 변수의 사용으로 이어질 것으로 여러 인스턴스를 실행할 수있는 권장 방법이 아니다 필요.

    상기의 대답은 대부분의 경우에있는 것은 당신이 무엇을하지 않습니다 (서버가 동시에 실행 할 수있는 경우에 특히)는 예를 logpath 및 pidfilepath에 대한 같은 동일한 구성 매개 변수의 사용으로 이어질 것으로 여러 인스턴스를 실행할 수있는 권장 방법이 아니다 필요.

    , mongod-QA.conf 및 mongod - STAGE.conf 같은 전용 mongod 구성 파일을 만드는 것을 고려하십시오. 이 파일에서 각 mongod 인스턴스 DBPATH,를 logpath 폴더, bind_ip, 포트 및 pidfilepath의 특정을 제공 할 수 있으며, 그 각각 다른 영향을 미치지 않습니다.

    이 단계 후에는 다음과 같이 두 개의 인스턴스를 실행할 좋다

    mongod --config <path-to>/mongod-QA.conf
    mongod --config <path-to>/mongod-STAGE.conf
    

    당신은 MongoDB를 워드 프로세서 페이지에 대한 자세한 내용을 찾을 수 있습니다

  2. ==============================

    2.당신은 단지 (예 : mongodb2) 다른 폴더를 만들 필요가 두 번째 인스턴스에 대한 DBPATH하고 다른 포트에서 실행 (예 : 27018)

    당신은 단지 (예 : mongodb2) 다른 폴더를 만들 필요가 두 번째 인스턴스에 대한 DBPATH하고 다른 포트에서 실행 (예 : 27018)

     mongod --dbpath /usr/local/var/mongodb2 --port 27018
    
  3. ==============================

    3.내가 개발 환경에서 에뮬레이션 프로덕션 환경에 동일한 PC에서 4 mongod의를 시작하는 방법 여기에있다.

    내가 개발 환경에서 에뮬레이션 프로덕션 환경에 동일한 PC에서 4 mongod의를 시작하는 방법 여기에있다.

    시작하려면 mongod 각 mongod에 대해 별도의 설정을 사용해야합니다. 4 CONFIGS을 가지고 그들을 사용 mongods를 시작합니다 :

    start C:\mongodb\bin\mongod.exe --config C:\net2\dev1-pc\configs\mongod-primary1.cfg 
    start C:\mongodb\bin\mongod.exe --config C:\net2\dev1-pc\configs\mongod-secondary1.cfg --rest
    start C:\mongodb\bin\mongod.exe --config C:\net2\dev1-pc\configs\mongod-secondary2.cfg
    start C:\mongodb\bin\mongod.exe --config C:\net2\dev1-pc\configs\mongod-secondary3.cfg
    

    CONFIGS는 다음과 같다 :

    MongoDB를-차 1.cfg 파일 내용

    systemLog:
        destination: file
        path: c:\net2\primary1-pc\data\log\mongod.log
    storage:
        dbPath: c:\net2\primary1-pc\data\db
    net:
        port: 27018
    replication:
        replSetName: repl1
    

    MongoDB의 중등 1.cfg 파일 내용

    systemLog:
        destination: file
        path: c:\net2\secondary1-pc\data\log\mongod.log
    storage:
        dbPath: c:\net2\secondary1-pc\data\db
    net:
        port: 27019
    replication:
        replSetName: repl1
    

    MongoDB의 중등 2.cfg 파일 내용

    systemLog:
        destination: file
        path: c:\net2\secondary2-pc\data\log\mongod.log
    storage:
        dbPath: c:\net2\secondary2-pc\data\db
    net:
        port: 27020
    replication:
        replSetName: repl1
    

    MongoDB의 중등 3.cfg 파일 내용

    systemLog:
        destination: file
        path: c:\net2\secondary3-pc\data\log\mongod.log
    storage:
        dbPath: c:\net2\secondary3-pc\data\db
    net:
        port: 27021
    replication:
        replSetName: repl1
    
  4. ==============================

    4.그것은 가능 - 당신이 듣고 각자에게 자신의 포트를 줄 것, 그리고 그것의 파일을 넣어 자신의 --dbpath 디렉토리를, 그러나 그들은 모두 동일한 자원을 놓고 경쟁 할 것이기 때문에 내가 이것을 권하고 싶지 않다 - RAM을, I / 대역폭 오 등

    그것은 가능 - 당신이 듣고 각자에게 자신의 포트를 줄 것, 그리고 그것의 파일을 넣어 자신의 --dbpath 디렉토리를, 그러나 그들은 모두 동일한 자원을 놓고 경쟁 할 것이기 때문에 내가 이것을 권하고 싶지 않다 - RAM을, I / 대역폭 오 등

    당신은 당신이 별도의 장치에 데이터 파일을 저장할 수있는이 서버에 여러 개의 디스크를 가지고 있지만 여전히 가능성이 최악의 시간에, 생산 인스턴스의 가용성을 감소하여 품질 보증 인스턴스를 걸고하는 경우.

    나는 내 생산 인스턴스를 배치하여 제공 할 전에 뭔가 중요하지를하고있어 임의의 컴퓨터에서 QA 인스턴스를 둘 것입니다.

  5. from https://stackoverflow.com/questions/15124610/multiple-instances-of-mongo-db-on-same-server by cc-by-sa and MIT license