標籤:
一、搭建環境:
mongodb版本:mongodb-linux-x86_64-3.0.6.gz
linux版本:CentOS 7 x64
伺服器:(連接埠:27000)
192.168.1.201 資料庫伺服器、192.168.1.202 資料庫伺服器、192.168.1.203 仲裁伺服器
(每個伺服器防火牆開啟27000連接埠iptables -I INPUT -p tcp --dport 27000 -j ACCEPT)
二、201和202設定資料庫並啟動(叢集名字:daxiong)命令:
bin/mongod --port 27000 --dbpath db --logpath log/mongod.log --replSet daxiong
三、串連201或202資料庫
bin/mongo 192.168.1.201:27000
四、進入admin,初始化叢集
use adminconfig = { _id:"daxiong", members:[{_id:0,host:"192.168.1.201:27000"},{_id:1,host:"192.168.1.202:27000"}]}rs.initiate(config)
(需要執行一段時間)
五、添加成功後,添加仲裁伺服器
rs.addArb("192.168.1.203:27000")
六、查看狀態:
rs.status()
201目前是主伺服器:primary
202待命伺服器:secondary
203仲裁伺服器:arbiter
七、測試容錯移轉
回到201,KO mongod
串連202,查看狀態 202已經成為主伺服器PRIMARY,這時201已經失聯了
啟動201 現在201已經是備選伺服器了
預設情況下,讀寫都在主伺服器,複本伺服器不支援查詢的,如果實現主從分離,主伺服器寫入,在複本伺服器讀取
複本伺服器要開啟讀取許可權
db.getMongo().setSlaveOk();
mongodb複本集群搭建