一.配置yum 倉庫
vim /etc/yum.repos.d/mongodb-org-4.2.repo #新建倉庫文件
[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
幾個包的作用
1.mongodb-org-server: 主程序包含MongoDB守護進程和相關的配置和初始化腳本。
2.mongodb-org-mongos: 包含mongos的守護進程。(切片分庫使用的)
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
三.配置複製集
先安裝好兩個節點,在配置每個節點的配置,配置除了監聽IP不一樣其均一樣配置
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: #開啓複製集功能
replSetName: test-rc #名稱注意不能頂格寫否則報錯
mongo -host 192.168.0.9 #進入節點
rs.status() #查看複製集狀態
兩個節點都和上圖一樣說明覆制集正常啓動了
cfg={"_id":"test-rc","members":[{"_id":0,"host":"192.168.0.9:27017"},{"_id":1,"host":"192.168.0.11:27017"}]}
#定義初始化參數,將兩個host主機加入到test-rc複製集當中
rs.initiate(cfg) #啓動複製集功能(初始化配置時要保證從節點沒有數據)
rs.status() 查看複製集狀態三,增加新節點,刪除節點
現在192.168.0.13 新節點上安裝好mongodb 配置里加入複製集並啓動起來
登錄主節點
rs.add("192.168.0.13:27017") #加入新的節點
re.status()
查看複製集狀態,可以看到192.168.0.13節點已然在線了
rs.remove("192.168.0.13:27017") #刪除節點
再用rs.status()查看下,可以發現已經沒有192.168.0.13節點的信息了四,手動切換節點
rs.freeze(30) #暫停30s 不參與選舉
rs.stepDown(60,30) #交出主節點位置,維持從節點狀態不少於60秒,等待30秒使主節點和從節點日誌同步(用於切換)五,設置從節點可讀
db.getMongo().setSlaveOk() #設置從節點可讀
主節點
從節點