欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

MongoDB复制集搭建

程序员文章站 2022-06-15 17:04:18
...

MongoDB复制集搭建,默认从库不可查询,执行如下语句使得当前从库可以查询,分担主库查询负载

看了mongodb权威指南之后,对于读写分离的方式采用复制集比较合适,一般的系统足够使用了。

很容易找到下载地址,暂不累述,,只描述关键步骤。

2台服务器分别为201和202 共3个节点,2个初始配置在202上,1个后来添加在201上

先部署2个节点
202:
./mongod --dbpath ./db1 --port 10002 --replSet blort/Server202:10001
./mongod --dbpath ./db --port 10001 --replSet blort/Server202:10002

./mongo Server202:10001/admin
db.runCommand({"replSetInitiate":{"_id":"blort","members":[{"_id":1,"host":"Server202:10001"},{"_id":2,"host":"Server202:10002"}]}})
db._adminCommand("replSetGetStatus");

增加一个节点
201:
./mongod --dbpath ./db --port 10001 --replSet blort/Server202:10002
202:
rs.add("Server201:10002");

默认从库不可查询,执行如下语句使得当前从库可以查询,分担主库查询负载
db.getMongo().setSlaveOk()

随机器自动启动脚本在/etc/rc.local
rm -rf /home/aircom/mongodb-linux-i686-2.0.6/bin/db/*.lock
rm -rf /home/aircom/mongodb-linux-i686-2.0.6/bin/db1/*.lock
/home/aircom/mongodb-linux-i686-2.0.6/bin/mongod --dbpath /home/aircom/mongodb-linux-i686-2.0.6/bin/db --port 10001 --replSet blort/Server202:10002 --fork --logpath /home/aircom/mongodb-linux-i686-2.0.6/bin/log/1001.log
/home/aircom/mongodb-linux-i686-2.0.6/bin/mongod --dbpath /home/aircom/mongodb-linux-i686-2.0.6/bin/db1 --port 10002 --replSet blort/Server202:10001 --fork --logpath /home/aircom/mongodb-linux-i686-2.0.6/bin/log/1002.log

修改配置,如修改优先级等,可以利用优先级来控制主几点那个ji
conf=rs.conf()
conf.members[0].priority=3
conf.members[1].priority=2
conf.members[2].priority=1
conf.members[3].priority=0.5
rs.reconfig(conf)

MongoDB复制集搭建