zoukankan      html  css  js  c++  java
  • 007.MongoDB特殊成员

    一 MongoDB成员

    1.1 常见特殊member

    Secondary存在一些特殊的成员类型:
      1 Priority 0		#不能升为主,可以用于多数据中心场景
    013
      1 Hidden			#对客户端来说是不可见的,一般用作备份或统计报告用
    014
      1 Delayed			#数据比副集晚,一般用作 rolling backup 或历史快照
    015

    二 添加备份节点

    2.1 前期准备

    本实验基于《006.MongoDB复制(副本集)》。
      1 [root@mongodb01 ~]# mongo --host 172.24.8.71 -u clusteradmin -p clusteradmin
      2 my_rep:PRIMARY> rs.remove("172.24.8.74:27017")
      3 my_rep:PRIMARY> rs.remove("172.24.8.73:27017")

    执行以上操作,使副本集达到以下规划:
    主机名
    IP
    类型
    备注
    mongodb01
    172.24.8.71
    primary
    主节点
    mongodb02
    172.24.8.72
    secondary
    备节点
    arbiter
    172.24.8.75
    arbiter
    冲裁节点
    副本集特殊成员规划:
    主机名
    IP
    类型
    备注
    mongodb01
    172.24.8.71
    primary
    主节点
    mongodb02
    172.24.8.72
    secondary
    备节点
    arbiter
    172.24.8.75
    arbiter
    冲裁节点
    mongodb03
    172.24.8.73
    hidden
    备份节点

    2.3 添加备份节点

      1 my_rep:PRIMARY> rs.add({"host":"172.24.8.73:27017","priority":0,"hidden":true})
    016
      1 my_rep:PRIMARY> rs.conf()
    017

    2.4 测试备份节点

      1 [root@mongodb01 ~]# mongo --host 172.24.8.71 -u admin -p admin
      2 my_rep:PRIMARY> use mydb
      3 my_rep:PRIMARY> show tables
      4 age01
      5 my_rep:PRIMARY> lisi_age=({name: 'lisi', age: '19', tel: '123456782', love: ['apple','orange']})
      6 my_rep:PRIMARY> db.age01.insert(lisi_age)
      7 [root@mongodb01 ~]# mongo --host 172.24.8.73 -u admin -p admin		#登录备份节点
      8 my_rep:SECONDARY> rs.slaveOk()
      9 my_rep:SECONDARY> show tables
     10 age01
     11 my_rep:SECONDARY> db.age01.find().pretty()

    018

    三 添加延迟节点

    3.1 前期准备

    本实验基于《006.MongoDB复制(副本集)》。

    3.2 确认状态

      1 [root@mongodb01 ~]# mongo --host 172.24.8.71 -u clusteradmin -p clusteradmin
      2 my_rep:PRIMARY> rs.remove("172.24.8.73:27017")

    执行以上操作,使副本集达到以下规划:
    主机名
    IP
    类型
    备注
    mongodb01
    172.24.8.71
    primary
    主节点
    mongodb02
    172.24.8.72
    secondary
    备节点
    arbiter
    172.24.8.75
    arbiter
    冲裁节点
    副本集特殊成员规划:
    主机名
    IP
    类型
    备注
    mongodb01
    172.24.8.71
    primary
    主节点
    mongodb02
    172.24.8.72
    secondary
    备节点
    arbiter
    172.24.8.75
    arbiter
    冲裁节点
    mongodb03
    172.24.8.73
    hidden
    备份节点
    mongodb04
    172.24.8.74
    Delayed
    延时节点

    3.3 添加延时节点

      1 my_rep:PRIMARY> rs.add({"host":"172.24.8.74:27017","priority":0,"hidden":true,"slaveDelay":60})
    019
      1 my_rep:PRIMARY> rs.conf()
    020

    3.4 测试备份节点

      1 [root@mongodb01 ~]# mongo --host 172.24.8.71 -u admin -p admin
      2 my_rep:PRIMARY> use mydb
      3 my_rep:PRIMARY> show tables
      4 age01
      5 my_rep:PRIMARY> db.age01.insertMany([{name: 'mazi', age: '15', tel: '123456784', love: ['pear','apple']},{name: 'xiaoming', age: '8', tel: '123456785', love: ['apple','grape']}])
      6 [root@mongodb01 ~]# mongo --host 172.24.8.74 -u admin -p admin		#登录备份节点
      7 my_rep:SECONDARY> rs.slaveOk()
      8 my_rep:SECONDARY> show tables
      9 age01
     10 my_rep:SECONDARY> db.age01.find().pretty()
    021
      1 my_rep:SECONDARY> db.age01.find().pretty()			#等待60秒再次查看
    022

    四 其他特殊节点

    4.1 更多成员类型

    Secondary-Only:不能成为primary节点,只能作为secondary副本节点,防止一些性能不高的节点成为主节点。
    Non-Voting:没有选举权的secondary节点,纯粹的备份数据节点。
     
    成为primary
    对客户端可见
    参与投票
    延迟同步
    复制数据
    Default
    x
    Secondary-Only
    x
    x
    Hidden
    x
    x
    x
    Delayed
    x
    Arbiters
    x
    x
    x
    x
    Non-Voting
    x
    x

    参考文档:https://www.cnblogs.com/zhoujinyi/p/3554010.html
  • 相关阅读:
    动态表单功能
    IDEA2019版Run Dashboard调出方案
    js页面传递参数为中文乱码问题解决方法
    layui 一行多列控件时使用table布局
    npm 安装包失败 --- 清除npm缓存
    解析数据库连接字符串 (将Data Source、Initial Catalog、User ID、Password取出)
    SQL SERVER 存储过程语法
    mvc5 跨域访问
    钟表
    MVC session过期如何处理跳转(转)
  • 原文地址:https://www.cnblogs.com/itzgr/p/10996734.html
Copyright © 2011-2022 走看看