天天看点

MongoDB-复制集搭建

MongoDB 复制集搭建

  • 下载 MongoDB: ​​https://fastdl.mongodb.org/win32/mongodb-win32-x86_64-2012plus-4.2.6.zip​​
  • 解压 MongoDB 安装包

在安装目录下新建 ​

​data/conf/log​

​​ 3个文件夹,在conf文件夹下新建 ​

​mongo.config​

​,在mongo.config中配置如下内容:

# Where and how to store data.
storage:
  dbPath: D:\Web\MongoDB4.X\MondoDB6666\mongodb27018\data
  journal:
    enabled: true
# where to write logging data.
systemLog:
  destination: file
  logAppend: true
  path: D:\Web\MongoDB4.X\MondoDB6666\mongodb27018\log\mongod.log
# network interfaces
net:
  port: 27018
  bindIp: 127.0.0.1      

在 log 文件夹下创建一个 ​

​mongod.log​

​​ 文件,然后分别进行拷贝两份,我这里分别有三分,端口号分别是,​

​27018​

​​, ​

​27019​

​​, ​

​27020​

​:

MongoDB-复制集搭建

!> 注意修改 config 中的文件里面的 data 与 log 存放地址与端口号

注册配置 MongoDB

注册成服务:

mongod --config D:\Web\MongoDB4.X\MondoDB6666\mongodb27018\conf\mongo.config --serviceName "MongoDB27018" --serviceDisplayName "MongoDB27018" --replSet "it6666" --install
mongod --config D:\Web\MongoDB4.X\MondoDB6666\MongoDB27019\conf\mongo.config --serviceName "MongoDB27019" --serviceDisplayName "MongoDB27019" --replSet "it6666" --install
mongod --config D:\Web\MongoDB4.X\MondoDB6666\MongoDB27020\conf\mongo.config --serviceName "MongoDB27020" --serviceDisplayName "MongoDB27020" --replSet "it6666" --install      

!> 注意以上的 ​

​--config​

​ 记得更换成你自己的

  • 手动启动服务
  • 测试连接
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: 'it6666',
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'}]
})      
MongoDB-复制集搭建

其它相关参数:

  • _id 整数:节点的唯一标识
  • host 字符串:节点的IP地址,包含端口号
  • arbiterOnly 布尔值:是否为投票节点,默认是false。是设置投票(选举)节点有关的参数
  • priority 整数:选举为主节点的权值,默认是1,范围0-1000
  • hidden 布尔值:是否隐藏,默认false,是设置隐藏节点有关的参数
  • votes 整数:投票数,默认为1,取值是0或1,是设置”投票“节点有关的参数
  • slaveDelay 整数:延时复制,是设置延时节点有关的参数。单位秒(s)

在主节点写入读取

只能在主节点写,因为其它节点不能写只能读默认情况下副节点是不可以读取的想要在副节点读取要开启执行 ​

​rs.slaveOk()​

​ 即可: