MongoDB單點故障分析
分片叢集中存在的幾種不同的潛在的節點故障場景,以及Mongodb對這些節點故障是怎麼處理的。
1、Mongos節點當機
一個Mongos程式應該執行在每一個應用程式伺服器上,這個伺服器應該獨佔這個Mongos程式,並且透過它與分片叢集來通訊。Mongos程式不是持久化的,相反,它們在啟動的時候從Config Server上收集所有必須的配置資訊。
這表明,任何一個應用程式伺服器節點故障,對作為一個整體的分片叢集來講並沒有什麼影響,所有別的應用程式伺服器將依然是繼續正常工作。
在這種情況下,恢復是一個相當簡單的事情,我們只需要去啟動一個新的應用程式伺服器和一個新的Mongos程式即可。
2、分片中的某一個Mongod節點當機
每一個分片由n個伺服器構成,這n個伺服器被配置為一個複製集(replica set)。如果在複製集中的任何一個節點當機,在這個分片上讀與寫操作任然是允許的。
更加重要的是,當機伺服器上的資料都不會丟失,因為複製機制存在一個選項,那就是強制複製寫操作到分片的其它節點上再返回,這與在Dynamo上設定write=2類似。
在MongoDB v1.6以後版本中Replica sets才是可用的。
3、分片中的所有Mongod節點當機
如果一個分片中的全部節點(replicas)都當機了,在該分片內的資料將不能被訪問。然而,操作任然是繼續進行,只不過是由別的分片分擔。看文件就可以弄清楚為什麼這樣。
如果分片被配置為一個複製集(Replicas set),至少一個成員應該在另外一個資料中心,那樣的話,整個分片都當機幾乎是不可能的。為了有更大的冗餘度,推薦這樣進行配置。
4、一個Config Server當機
一個產品級的分片叢集需要有3個Config Server程式,每一個程式都在一臺獨立的機器上執行。
對於Config server中的叢集後設資料的寫操作使用一個兩階段提交,去確保是一個原子的並且是被複制的事務操作。
在任何一個配置伺服器失效的時候,Mongodb叢集的後設資料都會變成為只讀了。叢集系統繼續執行,但是chunks在一個分片中將會成為不可以被拆分或者是不可以跨分片進行遷移。對於大多數使用場景,這個不會導致問題,應為改變Chunk後設資料進行的並不頻繁。
另外,使當機的Config Server在一個合理的時間週期(一天)內恢復是相當重要的,這樣可以避免分片由於缺乏遷移而變得負載不均衡(相對而言,對於大多數產品場景,這種現象也不是很嚴重的事情)。來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/27000195/viewspace-1404402/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- mongodb叢集節點故障的切換方法MongoDB
- mongodb 啟動故障MongoDB
- MongoDB故障處理MongoDB
- 單例項和單點故障怎麼辦?單例
- MongoDB單節點部署與基本操作MongoDB
- 3節點RAC資料庫夯故障分析資料庫
- OneProxy5.8.1防止單點故障特性試驗
- oracle11GR2 RAC節點crash故障分析Oracle
- vertica單節點故障恢復 Startup Failed, ASR RequiredAIUI
- Hadoop中Namenode單點故障的解決方案Hadoop
- 雲資料庫MongoDB單節點系列釋出資料庫MongoDB
- 故障分析 | Greenplum Segment 故障處理
- RAC第一個節點被剔除叢集故障分析
- ElasticSearch- 單節點 unassigned_shards 故障排查Elasticsearch
- Hadoop之HDFS及NameNode單點故障解決方案Hadoop
- 單機Linux下搭建MongoDB副本集-三節點LinuxMongoDB
- MongoDB副本集故障恢復機制概述MongoDB
- kubernets叢集節點NotReady故障 分析報告
- 最強SSO單點登入教程(三)單點登出流程分析
- Oracle 資料庫庫配置多路歸檔,防止單點故障Oracle資料庫
- mongoDB知識點MongoDB
- 【Mongodb】 replica set 兩種新增節點方法的日誌分析MongoDB
- 故障分析 | Kubernetes 故障診斷流程
- MongoDB索引,效能分析MongoDB索引
- 故障分析 | MySQL死鎖案例分析MySql
- MongoDB 簡單上手MongoDB
- 聊聊分散式資料庫中單節點故障的影響分散式資料庫
- postgreSQL troubleshooting 故障分析SQL
- cpu故障現象分析 CPU常見故障案例
- 使用PHP驅動的MongoDB的單點查詢效能測試PHPMongoDB
- MongoDB知識要點MongoDB
- MongoDB日常運維-05副本集故障切換MongoDB運維
- 【MongoDB學習筆記】MongoDB索引那點事MongoDB筆記索引
- mongodb慢查詢分析MongoDB
- MongoDB 中的鎖分析MongoDB
- mongodb 監控分析命令MongoDB
- 故障分析 | MySQL 從機故障重啟後主從同步報錯案例分析MySql主從同步
- 簡單的mongodb的學習使用,勿噴,有問題點出MongoDB