mongo副本集搭建

321 阅读1分钟

副本集安装

1. 解压下载的压缩包:

$ tar -zxvf mongodb-linux-x86_64-3.4.17.tgz

下载地址链接:pan.baidu.com/s/1mmcyWpri… 提取码:onfo  

2. 更改文件夹名称

$ mv mongodb-linux-x86_64-3.4.17.tgz mongodb27107

3. 创建数据库目录,配置文件目录,日志目录

$ mkdir -p mongodb27107/data/db

$ mkdir -p mongodb27107/config

4. 创建mongo.conf配置文件

$ touch mongo.conf

添加以下配置内容

dbpath= /home/mvtech/mongodb27017/data/db/ #数据存放目录

logpath=/home/mvtech/mongodb27017/data/mongo.log #日志文件目录

pidfilepath=/home/mvtech/mongodb27017/data/mongo.pid #pid端口文件

port=27017 #mongodb端口

logappend=true #追加方式写日志文件,默认false,进行覆盖

fork=true #后台运行

journal=true #启用日志选项,MongoDB的数据操作将会写入到journal文件夹的文件里

oplogSize=2048 #同步操作记录文件大小(MB)

smallfiles=true #使用较小的默认文件

replSet=heatdb #副本集名称,同一个副本集,名称必须一致

5. 将mongodb27107整个文件夹复制多份,相当于是多个mongo实例

6. 修改所有复制实例中的mongo.conf文件,将相关路径修改为对应的路径。

7. 启动mongo实例,进入bin目录下

$ mongod –f /home/mvtech/mongodb27017/config/mongo.conf

启动其他mongo实例参考上面的命令,修改路径

8. 使用mong连接数据库,进行服务,

$ ./mongo 访问默认端口27017

$ ./mongo –port 27018 访问非默认端口

9. 初始化副本集配置

副本集成员配置

cfg = {

_id: "mongoSet", # 副本集名称 和配置文件中一致

members: [{

_id: 0,

host: '172.18.247.114: 27018', # 副本集成员 ip:端口

priority: 1 #副本集成员 优先级

},

{

_id: 1,

host: '172.18.247.113: 27017',

priority: 1

},

{

_id: 2,

host: '172.18.247.113: 27018',

priority: 1

}]

};

初始化配置文件

rs.initiate(cfg);

10. 查询副本集状态

$ rs.status()

11. 进行secondary节点

$ ./mongo –host IP –port 端口号

$ ./mongo –host 172.18.247.114 –port 27018

12. 在secondary节点中执行命令会出现"errmsg" : "not master and slaveOk=false"的提示,这是因为从节点没有读权限,需要执行以下命令

$ rs.slaveOk();

13. 副本集常用操作

www.cnblogs.com/ivictor/p/6…