本文共 2491 字,大约阅读时间需要 8 分钟。
单机完成了 replica sets 的部署测试
过程与单机差不多,比较简单10.239
cd /data/mongodb/mongodb
mkdir data_17 data_18 data_19bin/mongod --rest --replSet myset --dbpath /data/mongodb/mongodb/data_17 --port 27017 --fork --logpath /data/mongodb/mongodb/data_17/std.log
bin/mongod --rest --replSet myset --dbpath /data/mongodb/mongodb/data_18 --port 27018 --fork --logpath /data/mongodb/mongodb/data_18/std.log
bin/mongod --rest --replSet myset --dbpath /data/mongodb/mongodb/data_19 --port 27019 --fork --logpath /data/mongodb/mongodb/data_19/std.log
cfg={
"_id" : "myset",
"version" : 1,"members" : [{
"_id" : 0,
"host" : "192.168.10.239:27018"},
{"_id" : 1,
"host" : "192.168.10.239:27019"},
{"_id" : 2,
"host" : "192.168.10.239:27017"},
]
}
bin/mongo
use admin
rs.initiate(cfg)
等待一会,系统紫铜同步完成。 系统会自动仲裁一个master
对其中一个库做
use admindb.runCommand({fsync:1})
然后另一个开始备份数据文件
mkdir data_20
cp ../data_17/* .完成后
向集群中追加一个节点
bin/mongod --rest --replSet myset --dbpath /data/mongodb/mongodb/data_20 --fastsync --port 27020 --fork --logpath /data/mongodb/mongodb/data_20/std.log
主意参数加了 --fastsync 选项
master 执行
rs.add("192.168.10.239:27020")
过一会 新节点加入集群。
rs.status()
rs.status()
{
"set" : "myset",
"date" : ISODate("2011-05-31T09:18:29Z"),"myState" : 2,"members" : [{
"_id" : 0,
"name" : "192.168.10.239:27018","health" : 1,"state" : 2,"stateStr" : "SECONDARY","uptime" : 290,"optime" : {"t" : 1306818572000,
"i" : 47},
"optimeDate" : ISODate("2011-05-31T05:09:32Z"),"lastHeartbeat" : ISODate("2011-05-31T09:18:29Z")},
{"_id" : 1,
"name" : "192.168.10.239:27019","health" : 1,"state" : 2,"stateStr" : "SECONDARY","uptime" : 2,"optime" : {"t" : 1306818572000,
"i" : 47},
"optimeDate" : ISODate("2011-05-31T05:09:32Z"),"lastHeartbeat" : ISODate("2011-05-31T09:18:29Z")},
{"_id" : 2,
"name" : "192.168.10.239:27017","health" : 1,"state" : 2,"stateStr" : "SECONDARY","optime" : {"t" : 1306818572000,
"i" : 47},
"optimeDate" : ISODate("2011-05-31T05:09:32Z"),"self" : true},
{"_id" : 3,
"name" : "192.168.10.239:27020","health" : 1,"state" : 1,"stateStr" : "PRIMARY","uptime" : 290,"optime" : {"t" : 1306818572000,
"i" : 47},
"optimeDate" : ISODate("2011-05-31T05:09:32Z"),"lastHeartbeat" : ISODate("2011-05-31T09:18:29Z")}
],
"ok" : 1
}
手工关闭master 会自动的重新选出一个master 。
重新启动后,会自动加入到集群中,追加完日志后,状态变为secondery
客户端代码,如果要查询slave 需要指定slaveok()
rs.slaveok()
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/133735/viewspace-696815/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/133735/viewspace-696815/