本文主要是介绍linux下mongodb的副本集搭建(replica Set),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
mongodb官方2.6开始不再推荐使用主从复制,而是推荐副本集
副本集至少需要三个;两种方式,一种是一主多从没有仲裁节点,一种是一主多从一仲裁
1、首先在服务器搭建好目录结构
shards - replSets - replSet1 - node11010/node11011/node11012 - config.conf/data/logs - db
【node11010/node11011/node11012】副本集中的各服务节点
【config.conf/data/logs】每一个节点中所需要的配置文件和文件夹;db文件夹创建在data目录下
2、修改config.conf文件
dbpath=/usr/java/mongodb/mongodb-3.4.0/shards/replSets/replSet1/node11010/data/db
replSet=ershuaiReplSet1 #replSet指定副本集的名称,每一个副本集唯一一个名称
fork=true
logpath=/usr/java/mongodb/mongodb-3.4.0/shards/replSets/replSet1/node11010/logs/node11010.log
logappend=true
bind_ip=[服务IP]
port=11011
搞定一个配置后,把配置文件和文件夹分别cp到node11011和node11012,并修改配置文件的路径和端口
3、分别启动各节点
(配置文件启动以注册临时环境变量来启动的,注册方式,在shards文件夹下执行命令:export PATH=/usr/java/mongodb/mongodb-3.4.0/bin:$PATH)
4、初始化副本集配置
连接上其中一个节点后,执行命令
无仲裁初始化命令:rs.initiate({"_id":"配置文件replSet属性",members:[{"_id":1,"host":"配置文件bind_ip:配置文件port"},{"_id":2,"host":"bind_ip:port"},{"_id":3,"host":"bind_ip:port"},xxxxxxxx]})
有仲裁初始化命令:rs.initiate({"_id":"配置文件replSet属性",members:[{"_id":1,"host":"配置文件bind_ip:配置文件port",priority:2},{"_id":2,"host":"bind_ip:port",priority:2},xxxxxxxx,{"_id":XX,"host":"bind_ip:port",arbiterOnly:true}]})
**************************************************************************************
以上步骤后就可以完成副本集搭建
可以通过命令:rs.status()。查看副本集状态
这篇关于linux下mongodb的副本集搭建(replica Set)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!