MongoDb集群中當多台伺服器down掉恢復

2021-08-31 23:15:00 字數 876 閱讀 4604

當mongodb集群中的多台伺服器down掉後我們可以通過mongodb提供的命令重新修復集群關係.當我們的集群中還存在一半以上的伺服器結點我們可以方便的重新選擇primary node.在mongodb1.8版本以上我們可以用下面的命令來重新選擇primary node.執行下面命令必須在primary node

cfg = rs.conf() //得到副本集的配置物件

cfg.members[0].priority = 2給當前第乙個結點設定優先順序以便讓它能去競選primary node

rs.reconfig(cfg)//讓配置生效

當我們的副本集中超過一半的結點伺服器已經down掉,我們就不能使用上面的命令恢復副本集,必須使用下面的命令:

cfg = rs.conf() //得到副本集的配置物件

//把down掉的結點從cfg.members中去掉,留下處於活動的結點

config.members = [config.members[1], config.members[3], config.members[4]]

rs.reconfig(config, )//讓配置生效,因為現在沒有呢primary node必須新增強 制更新(force:true)

如果剛才down掉的結點要重新加入該副本集那麼需要使用下面的命令:

cfg = rs.conf() //得到副本集的配置物件

//把down掉的結點重新加入進來並且原來的結點也要加入進來(這裡注意down的結點原來的—id是什麼這裡就填什麼不然會出現很多意象不到的問題)

config.members = [, config.members[3], config.members[4]]

rs.reconfig(config

)//讓配置生效,這裡不需要加強制更新

統計多台伺服器日誌

q 當某應用部署了多台伺服器時,一次請求可能被路由到其中任意一台做處理,如何通過日誌查詢一次請求的處理結果?a 每台伺服器都去找找總能找到吧。ok,思路是對的,但是人工去操作好麻煩,寫個shell指令碼跑一下。1 建立乙個應用伺服器ip列表檔案prodiplist,如下 10.174.88.199 ...

多台伺服器session cookie之間的關係

1 同域跨子域使用一套session和cookie的辦法,ini set session.cookie domain 當前域 可以在php.ini裡修改配置 session.cookie domain 2 同域不同埠 在區域網內使用ip加埠的訪問方式搭了兩個相同程式的站,結果發現使用者在乙個站下登入...

統計多台伺服器日誌

q 當某應用部署了多台伺服器時,一次請求可能被路由到其中任意一台做處理,如何通過日誌查詢一次請求的處理結果?a 每台伺服器都去找找總能找到吧。ok,思路是對的,但是人工去操作好麻煩,寫個shell指令碼跑一下。1 建立乙個應用伺服器ip列表檔案prodiplist,如下 10.174.88.199 ...