replication set複製集
replicattionset 多臺服務器維護相同的數據副本,提高服務器的可用性.
Replication set設置全過程
0:創建目錄
mkdir -p/data/r0 /data/r1 /data/r2
1:啓動3個實例,且聲明實例屬於某複製集
./bin/mongod--port 27017 --dbpath /data/r0 --smallfiles --replSetrsa --fork --logpath /var/log/mongo17.log
./bin/mongod--port 27018 --dbpath /data/r1 --smallfiles --replSetrsa --fork --logpath /var/log/mongo18.log
./bin/mongod--port 27019 --dbpath /data/r2 --smallfiles --replSetrsa --fork --logpath /var/log/mongo19.log
2:配置
rsconf = {
_id:'rsa',
members:
[
{_id:0,
host:'192.168.1.201:27017'
}
]
}
3: 根據配置做初始化
rs.initiate(rsconf);
4: 添加節點
rs.add('192.168.1.201:27018');
rs.add('192.168.1.201:27019');
5:查看狀態
rs.status();
6:刪除節點
rs.remove('192.168.1.201:27019');
7:主節點插入數據
>use test
>db.user.insert({uid:1,name:'lily'});
8:連接secondary查詢同步情況
./bin/mongo--port 27019
>use test
>show tables
rsa:SECONDARY>show tables;
Sat Aug 1716:03:55.786 JavaScript execution failed: error: { "$err" : "notmaster and slaveOk=false", "code" : 13435 }
8.1 出現上述錯誤,是因爲slave默認不許讀寫
>rs.slaveOk();
>show tables
#看到與primary 一致的數據