Linux下MongoDB叢集--複本集環境搭建
mongoDB 複本集適合寫比較少,讀較多的情境,寫可以使用訊息佇列來進行控制,這樣可以減少高並發寫帶來的壓力。複本集的使用情境要根據自己的項目需求來選擇,要是有著高並發的寫需求,建議採用分區的方式搭建叢集,在穩定性方面要比複本集要高。我這裡的使用情境是將寫入操作用隊列控制,主要是查詢多。
複本集中的副本節點在主節點掛掉後通過心跳機制檢測到後,就會在叢集內發起主節點的選舉機制,自動選舉一位新的主伺服器。
主節點故障後會實現自動切換,節點數量一定要大於等於3,否則可能會出現選主錯誤。官方建議為奇數節點,我這裡使用3個節點。
在各個節點上分別安裝mongoDB
mkdir /data/mongo/replset
#存放mongodb資料檔案
mkdir -p /data/mongo/replset/data
#進入mongodb檔案夾
cd /data/mongo
下載到部署套件
wget http://fastdl.mongodb.org/linux/mongodb-linux-x86_64-2.4.12.tar
tar xzvf mongodb-linux-x86_64-2.4.12.tar
接下來在各個機器上啟動,命令如下:
/data/mongo/mongodb-linux-x86_64-2.4.12/bin/mongod --fork --dbpath /data/mongo/replset/data --logpath=/data/mongo/logs/logs.info --replSet repset
注意:是後台啟動,要加上fork
在三台機器上任意一台機器登陸mongodb
/data/mongo/mongodb-linux-x86_64-2.4.12/bin/mongo
use admin
定義複本集組態變數
config = { _id:"repset",
members:[
{_id:0,host:"x.x.x.8:27017"},
{_id:1,host:"x.x.x.9:27017"},
{_id:2,host:"x.x.x.10:27017"}
]}
配置成功後入
初始化複本集
rs.initiate(config);
查看叢集節點的狀態
rs.status();
測試複本集是否同步
在主節點上登陸
/data/mongo/mongodb-linux-x86_64-2.4.12/bin/mongo 127.0.0.1或者本機節點IP
建立測試資料庫
use test;
db.testdb.insert({"demo":"demo"})
再到其他副本機器上查看,資料已經同步。
可以停掉主節點,然後看看自動選主的效果。
CentOS編譯安裝MongoDB
CentOS 編譯安裝 MongoDB與mongoDB的php擴充
CentOS 6 使用 yum 安裝MongoDB及伺服器端配置
Ubuntu 13.04下安裝MongoDB2.4.3
MongoDB入門必讀(概念與實戰並重)
Ubunu 14.04下MongoDB的安裝指南
《MongoDB 權威指南》(MongoDB: The Definitive Guide)英文文字版[PDF]
Nagios監控MongoDB分區叢集服務實戰
基於CentOS 6.5作業系統搭建MongoDB服務
MongoDB 的詳細介紹:請點這裡
MongoDB 的:請點這裡
本文永久更新連結地址: