亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Mongodb 副本集搭建問(wèn)題總結(jié)及解決辦法

 更新時(shí)間:2016年12月15日 14:44:44   作者:生_若蜉蝣  
這篇文章主要介紹了Mongodb 副本集搭建問(wèn)題總結(jié)及解決辦法的相關(guān)資料,在Mongodb 副本集搭建過(guò)程中會(huì)遇到很多問(wèn)題,這里就對(duì)常見(jiàn)問(wèn)題進(jìn)行總結(jié)并提供解決辦法,需要的朋友可以參考下

Mongodb 副本集搭建問(wèn)題總結(jié)及解決辦法

Mongodb數(shù)據(jù)庫(kù)的副本集是由多臺(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的安裝和配置都比較簡(jiǎn)單,只是rabbitmq需要依賴于erlang。而erlang又需要依賴一些其他的東西,這些東西需要root權(quán)限執(zhí)行yum,而我們沒(méi)有root權(quán)限,于是稍微花了一點(diǎn)點(diǎn)功夫。

除此之外,mongodb副本集的再次搭建也稍微遇到了一點(diǎn)點(diǎn)問(wèn)題,不過(guò)好在一切還是按照預(yù)料中發(fā)展的,以前沒(méi)遇到過(guò)的問(wèn)題也通過(guò)經(jīng)驗(yàn)猜想完美解決。

之所以mongodb副本集搭建會(huì)遇到一些問(wèn)題,大部分原因是因?yàn)檫@次并非親自動(dòng)手,而是由所帶的新人操作。
首先,按照我給的文檔他一步步的操作下去,結(jié)果在端口上,不知道是因?yàn)榱?xí)慣還是因?yàn)槭裁?,他所設(shè)置的端口并不是我們要求的端口。

那么這時(shí)候當(dāng)我要求他改成要求的端口時(shí),他有些茫然,不知道是應(yīng)該把所有配置刪了重配,還是要怎樣。

由于時(shí)間關(guān)系,于是我給他提供了一個(gè)方案,就是直接使用配置優(yōu)先級(jí)的方式改掉端口。之前我寫(xiě)過(guò)的副本集搭建的文檔中應(yīng)該有說(shuō)過(guò)優(yōu)先級(jí)怎么改,大體上是下邊三步:

config=rs.conf()
config.members[0].priority=2
rs.reconfig(config)

那么根據(jù)這個(gè),我們?cè)O(shè)想的改端口應(yīng)該是下邊這樣(下邊ip和端口只是隨便假設(shè)的,生產(chǎn)環(huán)境自然不能隨便透漏):

config=rs.conf()
config.members[0].host="192.168.117.88:37017"
rs.reconfig(config)

但是結(jié)果呢,在第三步的時(shí)候拋出異常,遺憾的是當(dāng)時(shí)只為了解決問(wèn)題而沒(méi)有截圖,忘記具體是什么異常了,但大體意思是說(shuō)這個(gè)端口的成員不存在。
于是,我又給他提供了第二個(gè)方案,那就是先把三個(gè)成員中非主服務(wù)的任意一個(gè)從成員中刪除:

rs.remove("ip:port")

然后把這臺(tái)機(jī)的端口改為我們需要的37017,之后再使用增加成員的命令添加進(jìn)來(lái):

rs.add("ip:port")

然后就這樣操作三次后,三臺(tái)服務(wù)器的端口都成功修改成要求的端口。

這個(gè)過(guò)程中,當(dāng)修改到主服務(wù)的時(shí)候,因?yàn)橐婚_(kāi)始設(shè)置了最高優(yōu)先級(jí),因此需要把另外一臺(tái)先設(shè)置成更高的優(yōu)先級(jí)操作。
問(wèn)題就這樣解決了,只不過(guò)事后我又想了想,似乎這種方案并非是最優(yōu)最簡(jiǎn)潔的,因?yàn)楫?dāng)時(shí)沒(méi)有細(xì)想第一種方案中那個(gè)問(wèn)題的原因,后來(lái)一想,多半是因?yàn)槟桥_(tái)機(jī)還是原端口沒(méi)有被重啟。

如果我們先把非主服務(wù)機(jī)器的端口都改好重啟,那么再次用第一種方案進(jìn)行應(yīng)該也是可行的,而且還會(huì)比第二種方案簡(jiǎn)單,有機(jī)會(huì)了一定要試試。

本以為這樣就可以了,然后沒(méi)想到的是,當(dāng)我們都遷移完成后,被告知那些機(jī)器都是測(cè)試服務(wù)網(wǎng)段的,要改成生產(chǎn)網(wǎng)段。
于是乎,所有的機(jī)器ip全部變了,以至于我們的mongodb副本集又要重新配置。

但是這一次比較麻煩的是,之前那次改端口是因?yàn)槲抑辽倏梢员WC有兩臺(tái)機(jī)還是正常運(yùn)行的,可以操作rs命令,但是這一次ip一變,我三臺(tái)機(jī)都無(wú)法正常成為主服務(wù),以至于rs命令失效。

幾番折騰,始終沒(méi)有想出好的方案,于是只好把data目錄下的內(nèi)容盡數(shù)刪除,然后真正的重新配置一遍。
然而,在這位新手的操作下,配置的過(guò)程中,把本該是如下的命令:

config={_id:”reptest”,members:[{_id:0,host:”192.168.0.160:57017”},{_id:1,host:”192.168.0.211:57017”},{_id:,host:”192.168.0.213:57017”}]}
rs.initiate(config)

弄成了這樣:

config={_id:”reptest”,members:[{_id:0,host:”192.168.0.160:57017”},{_id:1,host:”192.168.0.211:57017”},{_id:,host:”192.168.0.213:57017”}]}
rs.initiate()

也就是說(shuō)這里他雖然給config賦值了,但是再加載的時(shí)候竟然沒(méi)有使用,這也怪了忘了告訴他之前發(fā)現(xiàn)的一個(gè)問(wèn)題。

通常我們?cè)趙indow系統(tǒng)上操作Linux上的應(yīng)用,都會(huì)使用crt或者putty這些工具,這兩個(gè)工具各有優(yōu)劣,而我發(fā)現(xiàn)當(dāng)我們進(jìn)入mongo shell中操作時(shí),這兩個(gè)工具是有區(qū)別的,使用putty就可以回退,而crt就不能再mongodb shell中回退。

因此當(dāng)他敲完rs.initiate(),想要回到括號(hào)里加上config時(shí),已經(jīng)沒(méi)了回頭路,只能硬著頭皮回車(chē)。

而這時(shí)候,rs.initiate()只能執(zhí)行一次,接下來(lái)和我文檔中的操作不一樣了,又該怎么辦呢?

經(jīng)過(guò)上一個(gè)問(wèn)題,這個(gè)問(wèn)題貌似就很好解決的,怎么辦呢,我覺(jué)得還是可以使用rs.add和修改配置的方式解決,然后把這個(gè)想法告訴他,他照此操作后,果然一次搞定!

好了,這次的兩個(gè)問(wèn)題基本就這樣解決了,不知其他朋友們,是否對(duì)這種情況還有更好的解決方案?歡迎留言解惑。

感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!

相關(guān)文章

  • MongoDB聚合分組取第一條記錄的案例與實(shí)現(xiàn)方法

    MongoDB聚合分組取第一條記錄的案例與實(shí)現(xiàn)方法

    這篇文章主要給大家介紹了關(guān)于MongoDB聚合分組取第一條記錄的案例與實(shí)現(xiàn)方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-01-01
  • 基于Mongodb分布式鎖解決定時(shí)任務(wù)并發(fā)執(zhí)行問(wèn)題

    基于Mongodb分布式鎖解決定時(shí)任務(wù)并發(fā)執(zhí)行問(wèn)題

    這篇文章主要介紹了基于Mongodb分布式鎖解決定時(shí)任務(wù)并發(fā)執(zhí)行問(wèn)題,網(wǎng)上有很多分布式鎖的實(shí)現(xiàn)方案,基于redis、zk、等有很多,但是我的就是一個(gè)用了mysql和mongo的小應(yīng)用,本文給大家詳細(xì)講解,需要的朋友可以參考下
    2023-04-04
  • 如何利用MongoDB存儲(chǔ)Docker日志詳解

    如何利用MongoDB存儲(chǔ)Docker日志詳解

    這篇文章主要給大家介紹了關(guān)于如何利用MongoDB存儲(chǔ)Docker日志的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友沒(méi)呢下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2018-09-09
  • Mongodb 忘記密碼的解決辦法

    Mongodb 忘記密碼的解決辦法

    這篇文章主要介紹了Mongodb數(shù)據(jù)庫(kù)忘記密碼的解決辦法,需要的朋友可以參考下
    2014-03-03
  • mongodb處理中文索引與查找字符串詳解

    mongodb處理中文索引與查找字符串詳解

    這篇文章主要介紹了mongodb處理中文索引與查找字符串的相關(guān)資料,文中介紹的非常詳細(xì),相信對(duì)大家具有一定的參考價(jià)值,需要的朋友們下面來(lái)一起看看吧。
    2017-03-03
  • 如何對(duì) MongoDB 進(jìn)行性能優(yōu)化(五個(gè)簡(jiǎn)單步驟)

    如何對(duì) MongoDB 進(jìn)行性能優(yōu)化(五個(gè)簡(jiǎn)單步驟)

    MongoDB一直是最流行的NoSQL,而根據(jù)DB-Engines Ranking最新的排行,時(shí)下MongoDB已經(jīng)擊敗PostgreSQL躍居數(shù)據(jù)庫(kù)總排行的第四位,僅次于Oracle、MySQL和Microsoft SQL Server。本文給大家介紹MongoDB性能優(yōu)化的簡(jiǎn)單總結(jié)。
    2015-10-10
  • windows下mongodb安裝與使用圖文教程(整理)

    windows下mongodb安裝與使用圖文教程(整理)

    這篇文章主要介紹了windows下mongodb安裝與使用圖文教程(整理)的相關(guān)資料,需要的朋友可以參考下
    2016-06-06
  • 關(guān)于MongoDB索引管理-索引的創(chuàng)建、查看、刪除操作詳解

    關(guān)于MongoDB索引管理-索引的創(chuàng)建、查看、刪除操作詳解

    本文講述了關(guān)于MongoDB索引管理包括索引的創(chuàng)建、查看索引、刪除索引各方面的命令及使用方法
    2018-03-03
  • 淺析MongoDB用戶管理

    淺析MongoDB用戶管理

    mongodb在2.4最新版本中對(duì)用戶權(quán)限管理做了全新的調(diào)整,把權(quán)限細(xì)化了,增強(qiáng)了安全性,越來(lái)越像mysql的權(quán)限管理了。廢話少說(shuō),我們來(lái)詳細(xì)看下吧
    2014-08-08
  • MongoDB磁盤(pán)IO問(wèn)題的3種解決方法

    MongoDB磁盤(pán)IO問(wèn)題的3種解決方法

    磁盤(pán)IO是不可避免的,除去減少或延緩磁盤(pán)操作,也需要盡量的增強(qiáng)磁盤(pán)IO性能和吞吐量。下面這篇文章主要給大家介紹了關(guān)于MongoDB磁盤(pán)IO問(wèn)題的3種解決方法,需要的朋友可以參考借鑒,需要的朋友們下面來(lái)一起看看吧
    2018-07-07

最新評(píng)論