MongoDB搭建复制集
复制集:使用多台保存了相同内容的MongoDB服务器来组成一个数据库集群
接下来介绍如何在本地电脑上搭建复制集
- 下载:https://fastdl.mongodb.org/win32/mongodb-win32-x86_64-2012plus-4.2.6.zip
- 解压三份MongoDB安装包(三台MongoDB服务器)
- 在安装目录下新建data和log文件夹
- log目录下新建mongo.log文件
bin目录下新建mongo.config文件,配置如下内容
Where and how to store data. storage: dbPath: D:\Developer\MongoDB666\mongodb27020\data // data文件夹路径 journal: enabled: true where to write logging data. systemLog: destination: file logAppend: true path: D:\Developer\MongoDB666\mongodb27020\log\mongo.log // mongo.log文件路径 network interfaces net: port: 27020 // 修改端口号 bindIp: 127.0.0.1 // MongoDB服务器地址
- 以上步骤需对三份文件夹都进行配置,且需要换成不同的端口号
- 注册配置MongoDB,注册服务
分别进入bin目录,以管理员身份打开终端
mongod --config mongo.config文件路径 --serviceName "服务名称" --serviceDisplayName "显示的服务名称" --replSet "复制集名称" --install mongod --config D:\Developer\MongoDB666\mongodb27018\bin\mongo.config --serviceName "MongoDB27018" --serviceDisplayName "MongoDB27018" --replSet "it666" --install mongod --config D:\Developer\MongoDB666\mongodb27019\bin\mongo.config --serviceName "MongoDB27019" --serviceDisplayName "MongoDB27019" --replSet "it666" --install mongod --config D:\Developer\MongoDB666\mongodb27020\bin\mongo.config --serviceName "MongoDB27020" --serviceDisplayName "MongoDB27020" --replSet "it666" --install
- 打开任务管理器——服务——启动三台服务器
手动启动服务,测试连接
mongo --host 127.0.0.1 --port 27018 mongo --host 127.0.0.1 --port 27019 mongo --host 127.0.0.1 --port 27020
初始化复制集(任意一台服务器执行即可)
rs.initiate({ _id: 'it666', // 复制集名称 members: [ {_id: 0, host: '127.0.0.1:27018'}, // 节点信息 {_id: 1, host: '127.0.0.1:27019'}, {_id: 2, host: '127.0.0.1:27020'} ]})
相关属性:
_id 整数 节点的唯一标识。 host 字符串 节点的IP地址,包含端口号。 arbiterOnly 布尔值 是否为投票节点,默认是false。是设置投票(选举)节点有关的参数 priority 整数 选举为主节点的权值,默认是1,范围0-1000。 hidden 布尔值 是否隐藏,默认false,是设置隐藏节点有关的参数。 votes 整数 投票数,默认为1,取值是0或1,是设置”投票“节点有关的参数。 slaveDelay 整数 延时复制,是设置延时节点有关的参数。单位秒(s)
- 显示复制集相关信息(包括节点信息):
rs.status()
在主节点写入读取文档
db.person.insert({name:'nhw'})
- 注意:副节点读取时需执行
rs.slaveOk()