mongodb 添加複製集

說明:
複製集是額外的數據副本,是跨多個服務器同步數據的過程,複製集提供了冗餘並增長了數據可用性,經過複製集能夠對硬件故障和中斷的服務進行恢復。其優勢以下:
1 . 讓數據更安全。
2 . 高數據可用性。
3 . 災難恢復。
4 . 無停機維護(如備份、索引重建、故障轉移)。
5 . 讀綻開(額外的副本讀取)。
6 . 副本集對應用程序是透明的。

.
.
實驗環境:
mongodb 添加複製集
.
.
實驗步驟以下:(先安裝好mongodb)
.
.
1 . 關閉防火牆。mongodb

systemctl stop firewalld.service
setenforce 0

添加3個實例,爲這些實例建立數據存儲目錄與日誌存儲目錄,以及提權vim

mkdir -p /data/mongodb/mongodb{2,3,4}
mkdir -p /data/mongodb/logs
touch /data/mongodb/logs/mongodb{2,3,4}.log
chmod 777 /data/mongodb/logs/*.log

mongodb 添加複製集
.
.
2 .進入配置文件,設置數據類型名稱。安全

vim /etc/mongod.conf
  replication:
     replSetName: abcrs     #設置數據類型名稱

mongodb 添加複製集
.
.
3 . 更改配置文件後,把服務刷新下。服務器

mongod -f /etc/mongod.conf --shutdown    #關閉mongod
mongod -f /etc/mongod.conf        #開啓mongod

.
.
4 . 將配置文件複製一份,並更改相應的參數,做爲mongod2的配置文件。ide

cp -p /etc/mongod.conf /etc/mongod2.conf   #複製配置文件,並重命名
vim /etc/mongod2.conf
 path: /data/mongodb/logs/mongodb2.log     #日誌文件存放位置
  ....
  dbPath: /data/mongodb/mongodb2    #數據文件存放位置
  ....
  port: 27018   #端口號

mongodb 添加複製集
.
.
5 . 一樣更改另外兩個配置文件。日誌

cp -p /etc/mongod2.conf /etc/mongod3.conf 
cp -p /etc/mongod2.conf /etc/mongod4.conf

mongodb 添加複製集
.
.
6 . 更改好後,啓動實例。code

mongod -f /etc/mongod2.conf 
mongod -f /etc/mongod3.conf 
mongod -f /etc/mongod4.conf    #啓動實例

查看一下端口是否開啓。
netstat -ntap #查看開啓端口
mongodb 添加複製集
此時就能夠進入實例查看。blog

mongo --port 27018
mongo --port 27019
mongo --port 27020  #進入實例查看

.
.
7 .配置三個節點複製集。索引

db.stats()  #查看複製集
cfg={"_id":"abcrs","members":[{"_id":0,"host":"192.168.200.132:27017"},{"_id":1,"host":"192.168.200.132:27018"},{"_id":2,"host":"192.168.200.132:27019"}]}    #配置節點服務器相關聯端口

mongodb 添加複製集
.
.
8 . 啓動複製集。
rs.initiate(cfg) #啓動複製集
mongodb 添加複製集
.
.
9 . 能夠進行節點的添加與刪除,這裏就不作演示了。代碼以下:進程

rs.add("192.168.200.132:27020") #添加節點
rs.remove("192.168.200.132:27020")  #刪除節點

.
.
10 . 節點發生故障是不可避免的,故障轉移也必不可少。

ps aux | grep mongod    #查看開啓節點
kill  6233   #關掉一個進程節點

mongodb 添加複製集
此時的主節點就會切換到一個正常的節點上,故障轉移。

相關文章
相關標籤/搜索