MongoDB搭建Replica Set複製集

lotus_ruan發表於2021-09-09


  1、在MongoDB的同級安裝目錄下建立資料目錄,目錄結構如下:

       /data/rs0

       /data/rs1

       /data/rs2

  2、使用命令列啟動mongod的三個例項,開啟三個命令列視窗,分別輸入命令如下:

mongod --port 10000 --dbpath E:/field/replset/data/rs0 --replSet rscx --smallfiles --oplogSize 128

mongod --port 10001 --dbpath E:/field/replset/data/rs1 --replSet rscx --smallfiles --oplogSize 128

mongod --port 10002 --dbpath E:/field/replset/data/rs2 --replSet rscx --smallfiles --oplogSize 128

wKiom1M2tpqy9DbeAAYahPjQ9ew005.jpg

  執行完上面的命令後,MongoDB的例項服務已經啟動了,我們可以在剛剛建立資料目錄下,看到MongoDB自動生成的一些資料配置檔案。但同時我們也會發現命令列上會不停的打出“replSet can't get local.system.replset config from self or any seed”,這是因為集合loccal.system.replset還沒有任何配置資訊,我們還需要在命令列執行rs.initiate來進行初始化。

  開啟一個命令列視窗,我們連線到第一個例項。

mongo --port 10000

  在命令列繼續輸入mongodb replicate sets的配置資訊,然後執行rs.initiate( rsconf )初始化配置資訊。

rsconf = {

          _id: "rs0",

          members: [

                     {

                      _id: 0,

                      host: "<hostname>:27017"

                     }

                   ]

        }

rs.initiate( rsconf )

  在這一步,如果讀者不小心,在執行rs.initialte方法時,忘記了加引數,可以透過rs.reconfig(rsconf)來重新初始化配置檔案。

  接下來,執行rs.conf()命令,我們能夠看到會顯示如下所示的複製集資訊。

rscx:PRIMARY> rs.conf()

{

       "_id" : "rscx",

       "version" : 2,

       "members" : [

               {

                       "_id" : 0,

                       "host" : "favpc:10000"

               }

       ]

}

  接下來,繼續執行下面的命令,將另外兩個配置集加到複製集中。

rs.add("favpc":10001)

rs.add("favpc":10002)

wKioL1M2tozh9hZJAAKM-JqJL88177.jpg

  至此,Replica Sets複製集就搭建成功了。我們也可以看到mongodb複製集的命令列視窗不再列印replSet can't get local.system.replset config from self or any seed“,取而代之的是列印的複製集的連線資訊。當我們在主節點更新資料時,從節點也會自動更新資料。

©著作權歸作者所有:來自51CTO部落格作者genuinecx的原創作品,如需轉載,請註明出處,否則將追究法律責任

主從複製NosqlMongoDBNoSQL


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/1762/viewspace-2822139/,如需轉載,請註明出處,否則將追究法律責任。

相關文章