溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

yum 安裝mongodb 配置復(fù)制集 (主從復(fù)制)

發(fā)布時(shí)間:2020-06-26 13:17:04 來源:網(wǎng)絡(luò) 閱讀:378 作者:wx5a98a78793203 欄目:系統(tǒng)運(yùn)維

一.配置yum 倉(cāng)庫(kù)

vim /etc/yum.repos.d/mongodb-org-4.2.repo #新建倉(cāng)庫(kù)文件

[mongodb-org-4.2]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/4.2/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-4.2.asc

yum 安裝mongodb 配置復(fù)制集 (主從復(fù)制)
幾個(gè)包的作用
1.mongodb-org-server: 主程序包含MongoDB守護(hù)進(jìn)程和相關(guān)的配置和初始化腳本。
2.mongodb-org-mongos: 包含mongos的守護(hù)進(jìn)程。(切片分庫(kù)使用的)
3.mongodb-org-shell: 包含mongo shell。
4.mongodb-org-tools: 包含MongoDB的工具: mongoimport, bsondump, mongodump, mongoexport, mongofiles, mongooplog, mongoperf, mongorestore, mongostat, and mongotop。

二.安裝

 yum install mongodb-org -y

三.配置復(fù)制集
先安裝好兩個(gè)節(jié)點(diǎn),在配置每個(gè)節(jié)點(diǎn)的配置,配置除了監(jiān)聽I(yíng)P不一樣其均一樣配置
vim /etc/mongo.conf

systemLog:
  destination: file
  logAppend: true
  path: /var/log/mongodb/mongod.log

storage:
  dbPath: /var/lib/mongo
  journal:
    enabled: true

processManagement:
  fork: true  # fork and run in background
  pidFilePath: /var/run/mongodb/mongod.pid  # location of pidfile
  timeZoneInfo: /usr/share/zoneinfo

net:
  port: 27017
  bindIp: 192.168.0.11

replication:  #開啟復(fù)制集功能
    replSetName: test-rc #名稱注意不能頂格寫否則報(bào)錯(cuò)

mongo -host 192.168.0.9 #進(jìn)入節(jié)點(diǎn)

rs.status() #查看復(fù)制集狀態(tài)
yum 安裝mongodb 配置復(fù)制集 (主從復(fù)制)
兩個(gè)節(jié)點(diǎn)都和上圖一樣說明復(fù)制集正常啟動(dòng)了
cfg={"_id":"test-rc","members":[{"_id":0,"host":"192.168.0.9:27017"},{"_id":1,"host":"192.168.0.11:27017"}]}
#定義初始化參數(shù),將兩個(gè)host主機(jī)加入到test-rc復(fù)制集當(dāng)中
rs.initiate(cfg) #啟動(dòng)復(fù)制集功能(初始化配置時(shí)要保證從節(jié)點(diǎn)沒有數(shù)據(jù))
rs.status() 查看復(fù)制集狀態(tài)
yum 安裝mongodb 配置復(fù)制集 (主從復(fù)制)

三,增加新節(jié)點(diǎn),刪除節(jié)點(diǎn)

現(xiàn)在192.168.0.13 新節(jié)點(diǎn)上安裝好mongodb 配置里加入復(fù)制集并啟動(dòng)起來
登錄主節(jié)點(diǎn)
rs.add("192.168.0.13:27017") #加入新的節(jié)點(diǎn)
yum 安裝mongodb 配置復(fù)制集 (主從復(fù)制)
re.status()
yum 安裝mongodb 配置復(fù)制集 (主從復(fù)制)
查看復(fù)制集狀態(tài),可以看到192.168.0.13節(jié)點(diǎn)已然在線了
rs.remove("192.168.0.13:27017") #刪除節(jié)點(diǎn)
yum 安裝mongodb 配置復(fù)制集 (主從復(fù)制)
再用rs.status()查看下,可以發(fā)現(xiàn)已經(jīng)沒有192.168.0.13節(jié)點(diǎn)的信息了

四,手動(dòng)切換節(jié)點(diǎn)

rs.freeze(30) #暫停30s 不參與選舉
rs.stepDown(60,30) #交出主節(jié)點(diǎn)位置,維持從節(jié)點(diǎn)狀態(tài)不少于60秒,等待30秒使主節(jié)點(diǎn)和從節(jié)點(diǎn)日志同步(用于切換)

五,設(shè)置從節(jié)點(diǎn)可讀

db.getMongo().setSlaveOk() #設(shè)置從節(jié)點(diǎn)可讀
yum 安裝mongodb 配置復(fù)制集 (主從復(fù)制)
主節(jié)點(diǎn)
yum 安裝mongodb 配置復(fù)制集 (主從復(fù)制)
從節(jié)點(diǎn)

六,備份恢復(fù)

mongodump --port 20000 --host 192.168.0.9 -d testdb -o /root/test
#只備份testdb 數(shù)據(jù)庫(kù),備份到/root/test/ 路徑 注意 上面有兩個(gè)--
mongorestore -d k1 /root/test/testdb/
#把/root/test/testdb/ 里的備份的數(shù)據(jù),恢復(fù)成k1數(shù)據(jù)庫(kù)
mongodump --port 20000 --host 192.168.0.9 -o /root/all
#備份所有數(shù)據(jù)
mongoexport --port 20000 --host 192.168.0.9 -d testdb -c table1 -o /root/table1.json
#只備份testdb庫(kù)里的 table1 表
mongoimport --host 192.168.0.14 -d k1 -c table2 --file=/root/table1.json
#把/root/table1.json 的數(shù)據(jù)恢復(fù)到k1庫(kù) table2 表

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI