mongo复制集配置
mongo复制集配置
1,首先启动至少三个mongodb实例(三个实例可以在不同的机器上,或者是相同机器使用
不同的端口号.这里没有启动从库的可读).
不同的端口号.这里没有启动从库的可读).
www.zzzyk.com
Java代码
mongod --config mongo.cnf
//mongo.cnf文件内容
replSet=rs1//复制集的名称,随便起
logpath=/var/log/mongo_log/mongo.27012.log//mongo日志输出目录
dbpath=/data/db/XXX1 //数据文件存放目录
bind_ip=172.16.xx.xxx //mongo绑定的ip
port=27012 //mongo需要使用的端口号
fork=true//实例后台运行
rest=true//turn on 易做图 rest api
2, www.zzzyk.com
Java代码
进入mongo:mongo 172.16.xx.xxx:27012
3,执行复制集的初始化操作
//声明复制集配置对象,这里添加复制集的节点时,指定域名而非ip,有利于以后数据移动是的重新配置,这样只要在本地host中添加一条映射就可以了,而不需要修改复制集的配置.
Java代码
conf={"_id":"rs1","members":[{"_id":1,"host":"mongoserver_1.iteye.com:27010"},{"_id":2,"host":"mongoserver_1.iteye.com:27014"},{"_id":3,"host":"mongoserver_2.iteye.com27012"},{"_id":4,"host":"mongoserver_2.iteye.com:27016"}]}
Java代码
//执行复制集初始化
rs.initiate(conf);
4,复制集的其它常用操作:
Java代码
//查询本机是不是主机
db.isMaster();
//查看复制集每个节点的状态
Rs.status();
//删除一个节点(至少要保留三个)
Rs.remove(“节点的名称(host属性的值)”);
//添加个新节点(_id的值不可以使用已经存在的节点的值)
Rs.add({“_id”:XX,”host”:”地址:端口”});