MongoDB第二章--搭建主从复集群

mongodb 搭建主从复集群

知识点:

  1. 复制集群的架构
  2. 复制集群搭建
  3. 复制集群的选举配置

 

1.复制集群的架构

MongoDB第二章--搭建主从复集群_第1张图片

 

复制集群搭建基础示例

1、新建三个目录

mkdir -p /data/mongo/master

mkdir -p /data/mongo/slave

mkdir -p /data/mongo/slave2

2、在mongdb目录下新建三个配置文件

vim mongo-master-27017.conf

主节点配置

dbpath=/data/mongo/master

port=27017

fork=true

logpath=master.log

replSet=tulingCluster

 

vim mongo-slave-27018.conf

从节点配置

dbpath=/data/mongo/slave

port=27018

fork=true

logpath=slave.log

replSet=tulingCluster

 

vim mongo-slave-27019.conf

#子节点配置2

dbpath=/data/mongo/slave2

port=27019

fork=true

logpath=slave2.log

replSet=tulingCluster

 

分别启动三个节点

进入其中一个节点

集群复制配置管理

#查看复制集群的帮助方法

rs.help()

 

添加配置

// 声明配置变量

var cfg ={"_id":"tulingCluster",

"members":[

{"_id":0,"host":"127.0.0.1:27017"},

{"_id":1,"host":"127.0.0.1:27018"}

]

 }

// 初始化配置

rs.initiate(cfg)

// 查看集群状态

rs.status()

 

变更节点示例:

// 插入新的复制节点

rs.add("127.0.0.1:27019")

MongoDB第二章--搭建主从复集群_第2张图片

// 删除slave 节点

rs.remove("127.0.0.1:27019")

 

演示复制状态

  1. 进入主节点客户端

 

    2.进入从节点查看数据

注:默认节点下从节点不能读取数据。调用 rs.slaveOk() 解决。

 

复制集群选举操作

为了保证高可用,在集群当中如果主节点挂掉后,会自动 在从节点中选举一个 重新做为主节点。

选举的原理:

  在mongodb 中通过在 集群配置中的 rs.属性值大小来决定选举谁做为主节点,通时也可以设置arbiterOnly 为true 表示 做为裁判节点用于执行选举操作,该配置下的节点 永远不会被选举为主节点和从节点。

 

示例:

重新配置节点

var cfg ={"_id":"tulingCluster",

  "protocolVersion" : 1,

  "members":[

{"_id":0,"host":"127.0.0.1:27017","priority":10},

{"_id":1,"host":"127.0.0.1:27018","priority":2},

{"_id":2,"host":"127.0.0.1:27019","arbiterOnly":true}

]

 }

// 重新装载配置,并重新生成集群节点。

rs.reconfig(cfg)

//重新查看集群状态

rs.status()

 

 

节点说明:

 PRIMARY 节点: 可以查询和新增数据

 SECONDARY 节点:只能查询 不能新增  基于priority 权重可以被选为主节点

 RBITER 节点: 不能查询数据 和新增数据 ,不能变成主节点

 

(本片文章为图灵学院学习总结)

你可能感兴趣的:(mongdb)