主頁 > 知識(shí)庫 > mongodb運(yùn)維_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理

mongodb運(yùn)維_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理

熱門標(biāo)簽:Linux服務(wù)器 網(wǎng)站排名優(yōu)化 呼叫中心市場(chǎng)需求 地方門戶網(wǎng)站 百度競(jìng)價(jià)排名 鐵路電話系統(tǒng) 服務(wù)外包 AI電銷

我們以管理員的視角來看mongodb,作為一名管理員,我們經(jīng)常接觸到的主要有4個(gè)方面:

1.  安裝部署

2.  狀態(tài)監(jiān)控

3.  安全認(rèn)證

4.  備份和恢復(fù),

下面我們就一點(diǎn)一點(diǎn)的講解。

一:安裝部署

        我之前的文章都是采用console程序來承載,不過在生產(chǎn)環(huán)境中這并不是最佳實(shí)踐,誰也不愿意在機(jī)器重啟后滿地找牙似找mongodb,在mongodb里面提供了一個(gè)叫做“服務(wù)寄宿”的模式,我想如果大家對(duì)wcf比較熟悉的話很容易聽懂。好了,我們實(shí)踐一下,這里我開一下D盤里面的mongodb。

這里要注意的有兩點(diǎn):

   1> logpath: 當(dāng)我們使用服務(wù)寄宿的時(shí)候,用眼睛都能想明白肯定不會(huì)用console來承載日志信息了。

   2> install:   開啟安裝服務(wù)寄宿,很happy啊,把管理員的手工操作降低到最小,感謝mongodb。

好了,console程序叫我看log日志,那我就看看,發(fā)現(xiàn)mongodb已經(jīng)提示我們?nèi)绾伍_啟mongodb,接著我照做就是了。 

還要提醒大家一點(diǎn)的就是,這些命令參數(shù)很多很復(fù)雜也就很容易忘,不過沒關(guān)系,數(shù)據(jù)庫給我們提供了一個(gè)help方法,我們可以拿mongod和mongo說事。

mongod:

mongo:

二:狀態(tài)監(jiān)控

     監(jiān)控可以讓我們實(shí)時(shí)的了解數(shù)據(jù)庫的健康狀況以及性能調(diào)優(yōu),在mongodb里面給我們提供了三種方式。

1:http監(jiān)視器

     這個(gè)我在先前的文章中也提到了,這里就不贅述了。

2:serverStatus()

    這個(gè)函數(shù)可以獲取到mongodb的服務(wù)器統(tǒng)計(jì)信息,其中包括 :全局鎖,索引,用戶操作行為等等這些統(tǒng)計(jì)信息,對(duì)管理員來說非常重要。

    這里還是截個(gè)圖混個(gè)眼熟。

3:mongostat

      前面那些統(tǒng)計(jì)信息再牛X,那也是靜態(tài)統(tǒng)計(jì),不能讓我觀看實(shí)時(shí)數(shù)據(jù)變化,還好,mongodb里面提供了這里要說的mongodstat監(jiān)視器,這玩意會(huì)每秒刷新,在實(shí)際生產(chǎn)環(huán)境中大有用處,還是截張圖,很有意思,是不是感覺大軍壓境了。

三: 安全認(rèn)證

     作為數(shù)據(jù)庫軟件,我們肯定不想誰都可以訪問,為了確保數(shù)據(jù)的安全,mongodb也會(huì)像其他的數(shù)據(jù)庫軟件一樣可以采用用戶驗(yàn)證的方法,那么該怎么做呢?其實(shí)很簡(jiǎn)單,mongodb提供了addUser方法,還有一個(gè)注意點(diǎn)就是如果在admin數(shù)據(jù)庫中添加將會(huì)被視為“超級(jí)管理員”。

上面的admin用戶將會(huì)被視為超級(jí)管理員,“jack”用戶追加的第三個(gè)參數(shù)表示是否是“只讀用戶”,好了,該添加的我們都添加了,我們第一次登錄時(shí)不是采用驗(yàn)證模式,現(xiàn)在我們使用--reinstall重啟服務(wù)并以--auth驗(yàn)證模式登錄。

好了,我們進(jìn)入test集合翻翻數(shù)據(jù)看看情況,我們發(fā)現(xiàn)jack用戶始終都是沒有寫入的權(quán)限,不管是授權(quán)或者未授權(quán)。

四:備份和恢復(fù)

      這玩意的重要性我想都不需要我來說了吧,這玩意要是搞不好會(huì)死人的,mongodb里面常用的手段有3種。

1: 直接copy

       這個(gè)算是最簡(jiǎn)單的了,不過要注意一點(diǎn),在服務(wù)器運(yùn)行的情況下直接copy是很有風(fēng)險(xiǎn)的,可能copy出來時(shí),數(shù)據(jù)已經(jīng)遭到

        破壞,唯一能保證的就是要暫時(shí)關(guān)閉下服務(wù)器,copy完后重開。

2:mongodump和mongorestore

      這個(gè)是mongo給我們提供的內(nèi)置工具,很好用,能保證在不關(guān)閉服務(wù)器的情況下copy數(shù)據(jù)。

為了操作方便,我們先刪除授權(quán)用戶。

好了,我們轉(zhuǎn)入正題,這里我先在D盤建立一個(gè)backup文件夾用于存放test數(shù)據(jù)庫。

快看,數(shù)據(jù)已經(jīng)備份過來了,太爽了,現(xiàn)在我們用mongorestore恢復(fù)過去,記住啊,它是不用關(guān)閉機(jī)器的。

提一點(diǎn)的就是 drop選項(xiàng),這里是說我將test數(shù)據(jù)恢復(fù)之前先刪除原有數(shù)據(jù)庫里面的數(shù)據(jù),同樣大家可以通過help查看。

3:主從復(fù)制

    其實(shí)上面的1,2兩點(diǎn)都不能保證獲取數(shù)據(jù)的實(shí)時(shí)性,因?yàn)槲覀冊(cè)趥浞莸臅r(shí)候可能還有數(shù)據(jù)灌在內(nèi)存中不出來,那么我們想說能不能把數(shù)據(jù)暴力的刷到硬盤上,當(dāng)然是可以的,mongodb給我們提供了fsync+lock機(jī)制就能滿足我們提的需求。

fsync+lock首先會(huì)把緩沖區(qū)數(shù)據(jù)暴力刷入硬盤,然后給數(shù)據(jù)庫一個(gè)寫入鎖,其他實(shí)例的寫入操作全部被阻塞,直到fsync+lock釋放鎖為止。

這里就不測(cè)試了。

 加鎖:    db.runCommand({"fsync":1,"lock":1})
 釋放鎖: db.$cmd.unlock.findOne()

總結(jié)

以上所述是小編給大家介紹的mongodb運(yùn)維的相關(guān)知識(shí),希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!

您可能感興趣的文章:
  • java 中mongodb的各種操作查詢的實(shí)例詳解
  • Java操作Mongodb數(shù)據(jù)庫實(shí)現(xiàn)數(shù)據(jù)的增刪查改功能示例
  • mongodb增刪改查詳解_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理
  • mongodb聚合_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理
  • Java連接MongoDB進(jìn)行增刪改查的操作
  • Mongodb3.0.5 副本集搭建及spring和java連接副本集配置詳細(xì)介紹
  • MongoDB快速入門筆記(八)之MongoDB的java驅(qū)動(dòng)操作代碼講解
  • java操作mongoDB查詢的實(shí)例詳解

標(biāo)簽:仙桃 湖南 銅川 黃山 湘潭 衡水 蘭州 崇左

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《mongodb運(yùn)維_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266