您的位置:首页 > 数据库 > Mongodb

linux下mongodb的副本集搭建(replica Set)

2016-12-28 12:55 831 查看
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()。查看副本集状态

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息