這個系列大致想跟大家分享以下篇章(我會持續更新的↖(^ω^)↗): 1、mongo 3.4分片集群系列之一:淺談分片集群 2、mongo 3.4分片集群系列之二:搭建分片集群--哈希分片 3、mongo 3.4分片集群系列之三:搭建分片集群--哈希分片 + 安全 4、mongo 3.4分片集群系列之 ...
這個系列大致想跟大家分享以下篇章(我會持續更新的↖(^ω^)↗):
2、mongo 3.4分片集群系列之二:搭建分片集群--哈希分片
3、mongo 3.4分片集群系列之三:搭建分片集群--哈希分片 + 安全
4、mongo 3.4分片集群系列之四:搭建分片集群--哈希分片 + 安全 + 區域
8、mongo 3.4分片集群系列之八:分片管理
這篇為實踐篇。
這篇主要講述如何複製一個配置伺服器,替換一個配置伺服器。
1、使用配置資料庫要知道的事
如果配置伺服器副本集變為只讀,即沒有主成員,則分片集群不能支持更改集群元數據的操作,例如塊拆分和遷移。雖然不能拆分或遷移塊,但應用程式能夠將數據寫入分片集群。
2、複製一個配置伺服器的步驟
說明:副本集名稱是“mongo_config”,現在副本集有三個成員,mongo_config1(192.168.209.155:6000)(主成員),mongo_config2(192.168.209.155:6001),mongo_config3(192.168.209.155:6002)。
現在加入要用mongo_config4(192.168.209.155:6003),替換mongo_config3(192.168.209.155:6001)
1) 為配置伺服器創建文件夾,並配置配置文件
#mkdir –p /mongo_config4/data
#mkdir –p /mongo_config4/log
#vim /mongo_config4/mongo_config4_secure.conf
配置文件內容如下:
最後兩行是我在mongo 3.4分片集群系列之三:搭建分片集群--哈希分片 + 安全 加的內部安全認證,所以要加。若是沒有加內部安全認證,則可以去掉最後兩行
2) 啟動替換配置伺服器。
# mongod --fork --config /mongo_config4/mongo_config4_secure.conf
3) 將新的配置伺服器添加到副本集。
連接到配置伺服器副本集的主成員
# mongo --port 6000 –u bear –p bear --authenticationDatabase admin
用rs.add()添加新成員。
rs.add("192.168.209.155:6003")
然後,就等待系統將所有數據從配置伺服器副本集的一個成員複製到新成員,這個過程可以不重新啟動。
mongos 實例會自動識別配置伺服器副本集成員的更改,而不用重新啟動。
4) 關閉成員以替換。
註意:如果更換主成員,請先降級主成員,然後再關閉。
連接到mongo_config3
# mongo --port 6002 –u bear –p bear --authenticationDatabase admin
關閉該成員
use admin;
db.shutdownServer();
exit
5) 從配置伺服器副本集中刪除要替換的成員。
在完成替換配置伺服器的初始同步後,連接到主成員
# mongo --port 6000 –u bear –p bear --authenticationDatabase admin
使用rs.remove()刪除舊成員。
rs.remove(“192.168.209.155:6002”)
mongos 實例會自動識別配置伺服器副本集成員的更改,而不用重新啟動。
6) 如有必要,請更新mongos配置或DNS記錄。
下次重新啟動時,更新 mongos配置文件,將舊配置資料庫的主機埠更改為新的主機埠。
--------------------------------------- over ------------------------------------------------------
以上資料,大部分是參考官網的資料,在此表示感謝。
https://docs.mongodb.com/manual/tutorial/replace-config-server/