Amazon-Ec2
更改 MongoDB 伺服器結構最安全的方法是什麼?
我目前有一個 MongoDB 副本集配置如下:
{ "_id" : "ahspy_mongo_set", "version" : 13, "members" : [ { "_id" : 0, "host" : "remotedatacenter.in.montreal.dns.com", "priority" : 0 }, { "_id" : 1, "host" : "t1.micro.at.ec2.dns.com", "arbiterOnly" : true }, { "_id" : 2, "host" : "m1.xlarge.at.ec2.dns.com" } ] }
所以基本上,EC2 的一台伺服器備份到蒙特利爾的另一台伺服器,由於多種原因,它不能成為主伺服器。
我想改變我的結構,但我不確定從哪裡開始而不造成很多麻煩。事實上,我什至不確定我想做的事情是否可行。
我想要做的是將我在 EC2 (m1.xlarge) 上的主數據庫伺服器變成 3 個 m1.large 分片。所以基本上,從:
- EC2 上的副本 (m1.xlarge)
- 蒙特利爾的備份副本
- 仲裁者
到
EC2 上的副本
- 分片 1 (m1.large)
- 分片 2 (m1.large)
- 分片 3 (m1.large)
蒙特利爾的備份副本
仲裁者
這可能嗎?我可以在 EC2 中對副本集進行分片,同時在蒙特利爾的副本中只保留一台伺服器嗎?如果是這樣,這樣做的正確方法是什麼?我在 Mongo 的複制/分片方面遇到了真正的“雞和蛋”問題,因此我們將不勝感激。
非常感謝你 :)。
以下是基本步驟:
- 啟動 mongos 和配置伺服器
- 將此副本設置為您的第一個分片。
- 添加分片 2
- 添加分片 3
您不能將備份副本用作所有分片的備份:它只是那個副本集的備份。
您應該為每個分片設置一個單獨的副本集。如果蒙特利爾伺服器上有容量,您可以在該伺服器上為分片 2 和 3 放置一個備份成員,但它們必須是與分片 1 成員分開的mongod程序。