mongodb复制集配置步骤
mongodb复制集配置步骤
2012-11-09 14:10:24| 分类: mongodb|举报|字号 订阅
复制升级版的主从复制,它实现了故障自动转移功能,同时从节点支持读
一,节点类型:
a) 主节点:支持读写
b) 从节点:支持读(需设置)
c) 仲裁节点:参与投票同时也支持读(需设置)
二,实验
主节点:192.168.129.47
从节点:192.168.129.48
仲裁节点:192.168.129.49
1.主节点配置如下:
vi /etc/rc.local
rm /usr/mongodb/log/mongodb.log
/usr/mongodb/bin/mongod --dbpath=/usr/mongodb/data/ --logpath=/usr/mongodb/log/mongodb.log --port 27017 --replSet test/192.168.129.48:27017 --maxConns=2000 --fork –logappend
从节点配置如下:
vi /etc/rc.local
rm /usr/mongodb/log/mongodb.log
/usr/mongodb/bin/mongod --dbpath=/usr/mongodb/data/ --logpath=/usr/mongodb/log/mongodb.log --port 27017 --replSet test/192.168.129.47:27017 --maxConns=2000 --fork –logappend
仲裁节点配置如下:
vi /etc/rc.local
rm /usr/mongodb/log/mongodb.log
/usr/mongodb/bin/mongod --dbpath=/usr/mongodb/data/ --logpath=/usr/mongodb/log/mongodb.log --port 27017 --replSet test/192.168.129.47:27017,192.168.129.48:27017 --fork –logappend
配置完成之后启动mongod服务
2.启动之后在主节点执行(192.168.129.47)
use admin
db.runCommand({"replSetInitiate" : {
"_id" : "test",
"members" : [
{
"_id" : 0,
"host" : "192.168.129.47:27017"
},
{
"_id" : 1,
"host" : "192.168.129.48:27017"
} ,
{
"_id" : 2,
"host" : "192.168.129.49:27017"
}
]}})
#查看复制集状态
rs.status()
rs.isMaster()
rs.conf()
#查看从库状态
db.printSlaveReplicationInfo()
#设置从库可查询
db.getMongo().setSlaveOk()
rs.setSlaveOk()
#增加复制集节点
1.锁定已有的一个从库,并将缓存中的数据写入到磁盘
use admin
db.runCommand({"fsync":1, "lock":1})
2.拷贝被锁定从库的数据文件到新建从库的数据目录
3.解锁从库
db.$cmd.sys.unlock.findOne()
db.currentOp()
4.启动新从库
./mongod --replSet rs1 --keyFile /data/set/key/r4 --fork --port 28014 --dbpath /data/set/r4 --logpath=/data/set/log/r4.log --logappend --fastsync
5.rs.add("localhost:27017")
6.删除节点:
主节点上面执行 rs.remove(“ip:port”)