時間:2024-03-26 14:42作者:下載吧人氣:31
Mongodb 副本集搭建問題總結及解決辦法
Mongodb數據庫的副本集是由多臺服務器組成,基中一臺是主節點,其它為從節點,如果主節點宕機就自動切換到任意一個從節點。如果以前的主節點修復完成和正常運行就自動變成從節點,從節點不能查詢數據。也可以在一臺服務器裝多個Mongodb端口不一樣。
在我以往的認知中,一個系統一旦正式上線,多半不會輕易的遷移服務器,尤其是那種涉及到多個關聯應用,涉及到多臺硬件服務器的系統,因為這種遷移將是牽一發而動全身的。
但是,卻仍然有這種情況存在,就如我這幾天主要負責的事,就是一個系統的全部服務器遷移中的部分機器遷移,還有一部分由別人負責。
這個系統涉及到flume數據采集,storm數據分析,rabbitmq消息分發,ehcache緩存提升系統性能,MongoDB副本集存儲數據,tomcat管理系統應用等,架構基本如下:
而這里我主要負責的是rabbitmq、tomcat、ehcache、mongodb,這里邊tomcat、ehcache的安裝和配置都比較簡單,只是rabbitmq需要依賴于erlang。而erlang又需要依賴一些其他的東西,這些東西需要root權限執行yum,而我們沒有root權限,于是稍微花了一點點功夫。
除此之外,mongodb副本集的再次搭建也稍微遇到了一點點問題,不過好在一切還是按照預料中發展的,以前沒遇到過的問題也通過經驗猜想完美解決。
之所以mongodb副本集搭建會遇到一些問題,大部分原因是因為這次并非親自動手,而是由所帶的新人操作。
首先,按照我給的文檔他一步步的操作下去,結果在端口上,不知道是因為習慣還是因為什么,他所設置的端口并不是我們要求的端口。
那么這時候當我要求他改成要求的端口時,他有些茫然,不知道是應該把所有配置刪了重配,還是要怎樣。
由于時間關系,于是我給他提供了一個方案,就是直接使用配置優先級的方式改掉端口。之前我寫過的副本集搭建的文檔中應該有說過優先級怎么改,大體上是下邊三步:
config=rs.conf() config.members[0].priority=2 rs.reconfig(config)
網友評論