MongoDB Replica Sets和Auto Sharding配 置的簡單步驟是本文我們主要要介紹的內容,網上有很多教程把Replica Sets和Auto Sharding(或者是Sharding)寫在了一起,對於初學者可能會覺得有些莫名,之所以這樣做是因為,一個較好的Auto Sharding解決方案是將每個一shard(分區)定為一個Replica Sets(複製集)。
一個Replica Sets由若干個mongod instance組成,在這個集合中,所有的instance的資料相同,這使得即使有某一台機子當掉了,其它機子還是可以正常運行,而且這部分的控制是 由Mongo自動完成的,因而儘可能地減少了因當機而產生的錯誤及人工處理的部分。
而Sharding是可以將龐大的資料庫拆分為幾個部分分別發放到每一個shard,一來降低了單一一台伺服器的壓力,同時通過減少潛在的損失比例 來提高效率。也就是說一個基於Replica Sets的Auto Sharding結構,可以把一個完整而且龐大的資料庫根據個人定製,拆分到若干個伺服器集合,每個伺服器集合中的伺服器群又相互保持資料同步,所以除非 一個伺服器集合中的所有伺服器都當掉了,否則某台或幾台的當機對資料庫的影響是微忽其微的。關於這兩個部分,其實在Mongo的官方文檔裡有詳細的說明, 所以此文是以總結歸納為目的而寫。
.一個完整的Auto Sharding功能的實現需要用到mongod和mongos,其中mongos作為真正的應用介面,資料的輸入輸出都應經過它。然後還需要一個 config server,它是mongod,但它不會用來儲存應用程式的資料庫,通俗的來說而是存放了這整個結構的配置屬性,mongos會從config server中讀取配置來進行工作。最後是真正會儲存資料的mongod們,它們按組分為若干個Replica Sets,用來存放mongos拆分下來的各個sharding。
2.配置推薦從配置各個Replica Sets開始,一個Replica Set包含若干個mongod instance,基礎命令是:mongod --replSet %SETNAME% --shardsvr,同屬一個Replica Set的instance都使用同一個%SETNAME%,比如一個名為“set1”的Replica Set中有三台伺服器,分別名為“server1”,“server2”,“server3”,則在這三台伺服器上需要分別運行命令:
server1: mongod --replSet set1 --shardsvr
server2: mongod --replSet set1 --shardsvr
server2: mongod --replSet set1 --shardsvr
啟動mongod包含多個參數,這個可以通過命令:mongod --help來查詢,根據自己的需求修改,上面的為必要部分。
每個伺服器都啟動好mongod後,開始進行Replica Sets的初始化。
初始化的方法有多種,以下介紹比較方便的兩種:
(1)initiate(cfg),其中cfg由使用者編寫;
(2)initiate->add;
3.然後是啟動config serve;
4.最後是啟動mongs;
以上就是MongoDB Replica Sets和Auto Sharding配置的簡單過程,本文就介紹到這裡,希望本次的介紹能夠對您有所收穫!