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