MongoDB複製集架構搭建

2021-09-26 03:26:31 字數 1547 閱讀 9322

mkdir -p /data/r0 /data/r1 /data/r2

./bin/mongod --port 27017 --dbpath /home/workspace/data/r0/ --smallfiles --replset rsa --fork --logpath /home/workspace/logs/mongo0.log

./bin/mongod --port 27018 --dbpath /home/workspace/data/r1/ --smallfiles --replset rsa --fork --logpath /home/workspace/logs/mongo1.log

./bin/mongod --port 27019 --dbpath /home/workspace/data/r2/ --smallfiles --replset rsa --fork --logpath /home/workspace/logs/mongo2.log

rsconf = ,,]

}rs.initiate(rsconf);

mongodb中你只能通過主節點將mongo服務新增到副本集中, 判斷當前執行的mongo服務是否為主節點可以使用命令db.ismaster() 。

mongodb的副本集與我們常見的主從有所不同,主從在主機宕機後所有服務將停止,而副本集在主機宕機後,副本會接管主節點成為主節點,不會出現宕機的情況。

複製集建立自動化指令碼:

vim start.sh

#!/bin/bash

ip=192.168.119.128

na=rs2

if [ $1 == 'reset' ]; then

pkill -9 mongo

rm -rf /home/m*

exit;

fiif [ $1 == 'repl' ]; then

mkdir -p /home/m17 /home/m18 /home/m19 /home/mlog

/usr/mongodb/bin/mongod --dbpath /home/m17 --logpath /home/mlog/m17.log --port 27017 --fork --smallfiles --replset $

/usr/mongodb/bin/mongod --dbpath /home/m18 --logpath /home/mlog/m18.log --port 27018 --fork --smallfiles --replset $

/usr/mongodb/bin/mongod --dbpath /home/m19 --logpath /home/mlog/m19.log --port 27019 --fork --smallfiles --replset $

/usr/mongodb/bin/mongo 執行自動化指令碼:

sh start.sh reset          

sh start.sh repl

輸入命令: ./mongo 會自動連線到複製集中的主節點

1、if和[ ]之間要空格。

2、[ ]和' '之間要空格

3、' '和=之間要空格, 否則都會報錯

Windows下搭建mongodb複製集

mongodb版本為3.6.21 複製集是由副本組成的集群,需要至少兩個或以上的節點,其中有乙個是主節點,負責處理客戶端的請求,其它的為從節點,通過主從複製同步主節點的備份,主副節點上的資料是一致的,從節點定期從主節點獲取oplog,相當於mysql的binlog,記錄了所有修改資料庫操作。複製集可...

生產環境mongodb快速搭建複製集

mongodb快速搭建複製集 現在很多資料庫都支援實時安全備份,mongodb 也不例外。mongodb的複製集就是為安全備份而生。原理就是在主資料庫被操作改變的同時,對副本資料庫作同樣的操作,時刻保持和主副資料庫的一致性。同時順便衍生了乙個功能就是讀寫分離,可以寫在主資料庫,讀在副本資料庫,一定程...

MongoDB複製集和分片

複製集 複製提供了兩方面的好處 高效能 和 高可用性 奇數 應確保伺服器為奇數,這樣更容易選舉出主伺服器 複製策略 副本集數量 容錯 部署副本集 1.2.為複製集 中的每個伺服器配置 replset值。可以在檔案 mongodb.conf 中指定,也可以在命令列中指定。mongod port 270...