MongoDB Replica Sets和Auto Sharding配置簡介
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的官方文檔里有詳細的說明,所以此文是以總結歸納為目的而寫。
(圖片來源:http://www.mongodb.org/display/DOCS/Sharding+Introduction)
1.一個完整的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配置的簡單過程,本文就介紹到這里,希望本次的介紹能夠對您有所收獲!
【編輯推薦】