版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
MongoDB集群配置閱讀對象本文檔的閱讀對象包括:總監(jiān)架構(gòu)部經(jīng)理>組件負(fù)責(zé)人項目組成員目錄TOC\o"1-5"\h\z\o"CurrentDocument"閱讀對象 2\o"CurrentDocument"目錄 3\o"CurrentDocument"引言 1\o"CurrentDocument"編寫目的 1\o"CurrentDocument"術(shù)語定義 1\o"CurrentDocument"引用標(biāo)準(zhǔn) 1\o"CurrentDocument"安裝說明 2REPLICASET. 3下載解壓 3建立數(shù)據(jù)文件夾 4建立配置文件 4啟動MONGODB 6配置主,備,仲裁節(jié)點(diǎn) 7認(rèn)證 9添加仲裁節(jié)點(diǎn) 10添加從節(jié)點(diǎn) 10修改IP地址 111引言1.1編寫目的本文記錄了集群環(huán)境下安裝MongoDB的步驟,為軟件開發(fā)團(tuán)隊和運(yùn)維團(tuán)隊提供一個完整的安裝手冊,指導(dǎo)系統(tǒng)的開發(fā)和部署。1.2術(shù)語定義術(shù)語術(shù)語解釋1.3引用標(biāo)準(zhǔn)標(biāo)準(zhǔn)名稱制訂者備注2安裝說明Mongodb有三種集群方式的搭建:ReplicaSet,Sharding和Master-Slaver。這里只說明最簡單的集群搭建方式(生產(chǎn)環(huán)境),如果有更多節(jié)點(diǎn)可以此類推或者查看官方文檔,在實(shí)際環(huán)境中也要根據(jù)具體業(yè)務(wù)需求確定集群的搭建方式。OS是Ubuntu_x64系統(tǒng),客戶端用的是Java客戶端。Mongodb版本是mongodb-linux-x86_64-2.4.6.tgz。ReplicaSet中文翻譯叫做副本集,其實(shí)簡單來說就是集群當(dāng)中包含了多份數(shù)據(jù),保證主節(jié)點(diǎn)掛掉了,備節(jié)點(diǎn)能繼續(xù)提供數(shù)據(jù)服務(wù),提供的前提就是數(shù)據(jù)需要和主節(jié)點(diǎn)一致,它的架構(gòu)圖如下:Mongodb(A)MachinesMongodb(A)MachinesMongodb(M)表示主節(jié)點(diǎn),Mongodb(S)表示備節(jié)點(diǎn),Mongodb(A)表示仲裁節(jié)點(diǎn)。主備節(jié)點(diǎn)存儲數(shù)據(jù),仲裁節(jié)點(diǎn)不存儲數(shù)據(jù)。客戶端同時連接主節(jié)點(diǎn)與備節(jié)點(diǎn),不連接仲裁節(jié)點(diǎn)。默認(rèn)設(shè)置下,主節(jié)點(diǎn)提供所有增刪查改服務(wù),備節(jié)點(diǎn)不提供任何服務(wù)。但是可以通過設(shè)置使備節(jié)點(diǎn)提供查詢服務(wù),這樣就可以減少主節(jié)點(diǎn)的壓力,當(dāng)客戶端進(jìn)行數(shù)據(jù)查詢時,請求自動轉(zhuǎn)到備節(jié)點(diǎn)上。這個設(shè)置叫做ReadPreferenceModes,同時Java客戶端提供了簡單的配置方式,可以不必直接對數(shù)據(jù)庫進(jìn)行操作。仲裁節(jié)點(diǎn)是一種特殊的節(jié)點(diǎn),它本身并不存儲數(shù)據(jù),主要的作用是決定哪一個備節(jié)點(diǎn)在主節(jié)點(diǎn)掛掉之后提升為主節(jié)點(diǎn),所以客戶端不需要連接此節(jié)點(diǎn)。這里雖然只有一個備節(jié)點(diǎn),但是仍然需要一個仲裁節(jié)點(diǎn)來提升備節(jié)點(diǎn)級別。我開始也不相信必須要有仲裁節(jié)點(diǎn),但是自己也試過沒仲裁節(jié)點(diǎn)的話,主節(jié)點(diǎn)掛了備節(jié)點(diǎn)還是備節(jié)點(diǎn),所以咱們還是需要它的。下面是具體的搭建步驟:3.1 下載解壓在MOGODB主站點(diǎn)下載mongodb-linux-x86_64-2.4.6.tgz文件,在102,103,104上分別執(zhí)行以下操作cd/usr/localtarzxvfmongodb-linux-x86_64-2.4.6.tgzmvmongodb-linux-x86_64-2.4.6mongodb建立數(shù)據(jù)文件夾102下執(zhí)行:mkdir-p/mongodb/datamkdir-p/mongodb/log103下執(zhí)行:mkdir-p/mongodb/datamkdir-p/mongodb/log104下執(zhí)行:mkdir-p/mongodb/datamkdir-p/mongodb/log#建立配置文件編輯環(huán)境變量,在102,103,104上分別執(zhí)行:cd/rootvi.bash_profilePATH=$PATH:$HOME/bin:/usr/local/mongodb/binsource.bash_profile由于配置比較多,所以我們將配置寫到文件里,每個節(jié)點(diǎn)一個配置文件。102配置文件:mongod.confdbpath=/mongodb/datalogpath=/mongodb/log/master.logpidfilepath=/mongodb/master.piddirectoryperdb=truelogappend=truereplSet=testrsport=27017oplogSize=10000fork=truenoprealloc=true103配置文件:mongod.confdbpath=/mongodb/datalogpath=/mongodb/log/slaver.logpidfilepath=/mongodb/slaver.piddirectoryperdb=truelogappend=truereplSet=testrsport=27017oplogSize=10000fork=truenoprealloc=true104配置文件:#mongod.confdbpath=/mongodb/datalogpath=/mongodb/log/arbiter.logpidfilepath=/mongodb/arbiter.piddirectoryperdb=truelogappend=truereplSet=testrsport=27017oplogSize=10000fork=truenoprealloc=true參數(shù)解釋:dbpath:數(shù)據(jù)存放目錄logpath:日志存放路徑pidfilepath:進(jìn)程文件,方便停止mongodbdirectoryperdb:為每一個數(shù)據(jù)庫按照數(shù)據(jù)庫名建立文件夾存放logappend:以追加的方式記錄日志replSet:replicaset的名字bind_ip:mongodb所綁定的ip地址port:mongodb進(jìn)程所使用的端口號,默認(rèn)為27017oplogSize:mongodb操作日志文件的最大大小。單位為Mb,默認(rèn)為硬盤剩余空間的5%fork:以后臺方式運(yùn)行進(jìn)程noprealloc:不預(yù)先分配存儲3.4啟動mongodb102,103,104上分別執(zhí)行:mongod-fmongod.confMongDB集群環(huán)境搭建說明文檔注意配置文件的路徑一定要保證正確,可以是相對路徑也可以是絕對路徑。3.5配置主,備,仲裁節(jié)點(diǎn)可以通過客戶端連接mongodb,也可以直接在三個節(jié)點(diǎn)中選擇一個連接mongodb。在102上執(zhí)行:./mongo #ip和port是某個節(jié)點(diǎn)的地址>useadmin>cfg={_id:"testrs",members:[{_id:0,host:'10.12.23.102:27017',priority:2},{_id:1,host:'10.12.23.103:27017',priority:1},{_id:2,host:'10.12.23.104:27017',arbiterOnly:true}]};>rs.initiate(cfg) #使配置生效cfg是可以任意的名字,當(dāng)然最好不要是mongodb的關(guān)鍵字,conf,config都可以。最外層的_id表示replicaset的名字,members里包含的是所有節(jié)點(diǎn)的地址以及優(yōu)先級。優(yōu)先級最高的即成為主節(jié)點(diǎn),即這里的10.12.23.102:27017。特別注意的是,對于仲裁節(jié)點(diǎn),需要有個特別的配置一一arbiterOnly:true。這個千萬不能少了,不然主備模式就不能生效。配置的生效時間根據(jù)不同的機(jī)器配置會有長有短,配置不錯的話基本上十幾秒內(nèi)就能生效,有的配置需要一兩分鐘。如果生效了,執(zhí)行rs.status()命令會看到如下信息:testrs:PRIMARY>rs.status();{"set":"testrs","date":ISODate("2013-09-22T03:12:02Z"),"myState":1,"members":[{"_id":0,"name":"10.12.23.102:27017","health":1,"state":1,"stateStr":"PRIMARY","uptime":781680,"optime":Timestamp(1379818896,1),"optimeDate":ISODate("2013-09-22T03:01:36Z"),"self":true},{"_id":1,"name":"10.12.23.103:27017","health":1,"state":2,"stateStr":"SECONDARY","uptime":781271,"optime":Timestamp(1379818896,1),"optimeDate":ISODate("2013-09-22T03:01:36Z"),"lastHeartbeat":ISODate("2013-09-22T03:12:02Z"),"lastHeartbeatRecv":ISODate("2013-09-22T03:12:02Z"),"pingMs":0,"syncingTo":"10.12.23.102:27017"},{"_id":2,"name":"10.12.23.104:27017","health":1,"state":7,"stateStr":"ARBITER","uptime":781271,"lastHeartbeat":ISODate("2013-09-22T03:12:02Z"),"lastHeartbeatRecv":ISODate("2013-09-22T03:12:02Z"),"pingMs":0}],"ok":1如果配置正在生效,其中會包含如下信息:"stateStr":"RECOVERING"同時可以查看對應(yīng)節(jié)點(diǎn)的日志,發(fā)現(xiàn)正在等待別的節(jié)點(diǎn)生效或者正在分配數(shù)據(jù)文件。至此,基本上已經(jīng)完成了集群的所有搭建工作。3.6認(rèn)證目前暫時采用KEYFILE的認(rèn)證方式。在所有節(jié)點(diǎn)admin數(shù)據(jù)庫中建立一個可讀寫的數(shù)據(jù)庫賬號,用戶名和密碼保持一致mongouseadmin;db.addUser("admin","admin");db.system.users.find();在所有節(jié)點(diǎn)建立KEYFILE文件:cd/data/mongodb/opensslrand-base64753>keyFilechmod600keyFile啟動MONGODB/usr/local/mongodb/bin/mongod--keyFile/data/mongodb/keyFile-f/data/mongodb/mongod.conf添加仲裁節(jié)點(diǎn)在服務(wù)器上建立目錄mkdir/data/arb啟動MONGO服務(wù)mongod--port30000--dbpath/data/arb--replSettestrs執(zhí)行添加命令rs.addArb(〃hostname:30000〃)添加從節(jié)點(diǎn)方式一在服務(wù)器上建立目錄mkdir/data/sed啟動MONGO服務(wù)mongod--port30000--dbpath/data/sed--replSettestrs在主節(jié)點(diǎn)執(zhí)行添加命令rs.add("hostname:27021");方式二鎖定已有的一個從庫,并將緩存中的數(shù)據(jù)寫入到磁盤useadmindb.runCommand({"fsync”:1,"lock”:1})拷貝被鎖定從庫的數(shù)據(jù)文件到新建從庫的數(shù)據(jù)目錄解鎖從庫rWEffi匣db.$cmd.sys.unlock.findOne()db.currentOp()啟動新從庫./mongod--replSetrs1--keyFile/data/set/key/r4--fork--port28014--dbpath/data/set/r4--logpath=/data/set/log/r4.log--logappend--fastsyncrs.add("localhost:27017")3.9修改IP地址當(dāng)服務(wù)器修改IP后,復(fù)制集中的IP信息需要修改,否則會報如下錯誤:>rs.status();rs.status();{"startupStatus":1,"ok":0,"errmsg":"loadinglocal.system.replsetconfig(LOADINGCONFIG)"具體修改操作如下:mongo127.0.0.1:27020useadmincfg={_id:"testrs",members:[{_id:0,host:'172.23.166.23:27020',priority:2},{_id:1,host:'172.23.166.23:27018',priority:1},{_id:2,host:'172.23.166.23:27019',arbiterOnly:true}]};rs.reconfig(cfg,{force:true})稍等一會再次查看:testrs:PRIMARY>rs.status()rs.status(){"set":"testrs","date":ISODate("2015-05-27T06:46:16Z"),"myState":1,"members":[{"_id":0,"name":"172.23.166.23:27020","health":1,"state":1,"stateStr":"PRIMARY","uptime":903,"optime":Timest
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度充電樁安全防護(hù)系統(tǒng)安裝合同4篇
- 2025版二手房買賣中介傭金結(jié)算及爭議處理合同3篇
- 二零二五年度藝術(shù)展覽聯(lián)合承辦執(zhí)行合同4篇
- 二零二五年度魚塘租賃合同(含漁業(yè)產(chǎn)業(yè)升級及技術(shù)創(chuàng)新)4篇
- 2024窯爐承包合同:驗(yàn)收流程與環(huán)保性能檢測服務(wù)條款3篇
- 單項工程施工合同范本
- 2025年度車庫房租賃與充電樁建設(shè)合同范本4篇
- 二零二四年度夜場演出服務(wù)合同范本2篇
- 2025年度建設(shè)工程合同法風(fēng)險控制策略4篇
- 二零二五年度貨運(yùn)車輛融資租賃承包協(xié)議4篇
- 定額〔2025〕1號文-關(guān)于發(fā)布2018版電力建設(shè)工程概預(yù)算定額2024年度價格水平調(diào)整的通知
- 2024年城市軌道交通設(shè)備維保及安全檢查合同3篇
- 【教案】+同一直線上二力的合成(教學(xué)設(shè)計)(人教版2024)八年級物理下冊
- 湖北省武漢市青山區(qū)2023-2024學(xué)年七年級上學(xué)期期末質(zhì)量檢測數(shù)學(xué)試卷(含解析)
- 單位往個人轉(zhuǎn)賬的合同(2篇)
- 科研倫理審查與違規(guī)處理考核試卷
- GB/T 44101-2024中國式摔跤課程學(xué)生運(yùn)動能力測評規(guī)范
- 高危妊娠的評估和護(hù)理
- 2024年山東鐵投集團(tuán)招聘筆試參考題庫含答案解析
- 2023年高考全國甲卷數(shù)學(xué)(理)試卷【含答案】
- 數(shù)獨(dú)題目A4打印版無答案
評論
0/150
提交評論