1. 程式人生 > >MongoDB配置複製集和分片!!!

MongoDB配置複製集和分片!!!

首先在確保你的電腦安裝過mongodb和把mongodb的bin目錄寫到path裡面並且成功執行過的情況下來操作如下步驟

複製集:

1同一個資料夾下面寫入新建三個資料夾如下圖

類似與這種,然後再每個檔案下新建立兩個檔案(nodex對應datax和logx)和一個win的可執行檔案(PS:可執行檔案就是你新建立一個txt的檔案然後儲存的直接把後墜名改為.bat)然後再編輯可執行檔案在其中寫入:

mongod --dbpath=D:\mongodb\nodex\datax--port 10001 --logpath=D:\mongodb\nodex\logsx\nodex.log --replSetreplcopy/192.168.8.123:10002

 

其中的x代表數字   其中兩個要注意:--port  這個是指定當前服務埠

 

--replSet replcopy/192.168.8.123:10002  代表複製集的其他小夥伴的ip和埠(儘量然你的複製集形成一個有向環)

然後點選可執行檔案出現下圖就ok了

然後檢視這個服務是不是可以使用

輸入以下命令:
mongo 192.168.8.123:10001/admin

顯示如下

說明都ok了

二安裝分片

建立一個分片需要三個角色

1.     Configserver(角色一)

建立一個config_server目錄:

然後再目錄下面建立劃紅線的兩個目錄

mongod --port  30000--dbpath=D:\mongodb\config_ser\config --fork  --logpath=D:\mongodb\config_ser\logsconfig.log –directoryperdb

 

2.     mongos(角色二)

 

建立mongos目錄在目錄下

可執行檔案如下:

mongos  --port 40000--configdb 192.168.8.123:30000 --logpath D:\mongodb\mongos\logs\mongos.log

3.     shard server(角色三)

建立shard目錄在shard目錄下建立如下

然後再1和2裡面建立可執行檔案,內容如下

mongod --port 20000 --dbpath D:\mongodb\Shard\shard1--logpath D:\mongodb\Shard\log\log1.log


根據情況來修改配置

然後點選四個執行檔案,服務啟動之後

輸入:

mongo admin --port 40000

2018-06-08T20:56:50.756+0800I CONTROL  [main]

mongos>db.runCommand({addshard:"192.168.188.123:20000"})

{"shardAdded" : "shard0000", "ok" : 1 }

mongos>db.runCommand({addshard:"192.168.188.123:20001"})

{"shardAdded" : "shard0001", "ok" : 1 }

mongos>db.runCommand({enablesharding:"test"})

{"ok" : 1 }

mongos>db.runCommand({shardcollection:"test.peopleinfo",key:{"id":1}})

{"collectionsharded" : "test.peopleinfo", "ok" : 1}

mongos>use test

switchedto db test

mongos>for(var i=1;i<1000;i++){

...db.peopleinfo.insert({age:i,name:"zouguijin",addr:"shengzheng",country:"china"})

... }

WriteResult({

        "nInserted" : 0,

        "writeError" : {

                "code" : 61,

                "errmsg" :"document { _id: ObjectId('5b1a8236b0849a44f18a6de3'), age: 999.0, name:\"zouguijin\", addr: \"shengzheng\", country:\"china\" } does not contain shard key for pattern { id: 1.0 }"

        }

Ok配置ok

 

 

如果覺得有用請加個關注唄