如何构建MongoDB RepSet +Consul高可用切换系统

技术如何构建MongoDB RepSet +Consul高可用切换系统小编给大家分享一下如何构建MongoDB RepSet +Consul高可用切换系统,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望

边肖将与您分享如何构建MongoDB Repset Consult高可用性交换系统。相信大部分人都不太了解,所以分享这篇文章给大家参考。希望大家看完这篇文章后收获多多。让我们一起来发现吧!

蒙古银行代表处领事

环境介绍:

已安装MongoDB副本集:192.168.151: 27151 consulagent。

192 . 168 . 152:27152 consultant已安装。

协商原则已经确立:

抛弃VIP,利用领事和哨兵构建一个高可用的redis系统。

蒙古数据库副本集的构造

1.MongoDB主从角色检查脚本(MongoDB副本集分为主副本集和次副本集,但为了便于理解,仍称为主从关系):

cat/root/check/mongo _ ISmaster . sheof

#!/bin/bash

PORT=$1

角色=$2

a=$(mongo-uroot-PSA 123456-PORT $ PORT-host 192 . 168 . 1 . 151-authenticationdatabasadmin-eval ' RS . ismaster()' | grep-I ' ismaster ' | awk-F ' : ' ' { print $ 2 } ' | awk-F ',' ' {print$1} ')

# a=$(redis-CLI-p $ PORTinfoReplication | greprole: | awk-F ' : ' ' { print $ 2 } ' | awk-F ' \ r ' ' { print $ 1 } ')

if[$ a=$ ROLE];然后

exit0

其他

exit2

船方不负担装货费用

文件结束

chmod x/root/check/mongo _ ISmaster . sh

#检查脚本的执行情况。第一个参数用于指定端口,第二个参数true检测它是否为主端口,如果为false则检测它是否为从端口。/mongo _ ISmaster . sh 27151 tree

#读取脚本执行结果,返回值为0,条件满足,返回值为2,异常不满足。

echo$?2.咨询对应于2服务配置文件(27151)。MongoDB,另外两个可以更改端口和IP地址。

cat/etc/consult/mongo _ 27151 . JSone of

{

服务' :[

{

id':'27151master ',

名称' :'mongo-master ',

标签' :['master'],

地址' :'192.168.1.151 ',

端口' :27151,

支票' :[

{

(=NationalBureauofStandards)国家标准局

p;           "args":["/root/check/mongo_isMaster.sh","27151","true"],
                  "interval":"1s"
              }
            ]
  },
  {
       "id":"27151slave",
       "name":"mongo-slave",
         "tags":["slave"],
         "address":"192.168.1.151",
         "port":27151,
         "checks":[
                       {
                            "args":["/root/check/mongo_isMaster.sh","27151","false"],
                            "interval":"1s"
                       }
                        ]
  }
 ]
}
EOF

3.重新加载consul agent配置文件

root@MongoDB151-FedoraServer-IP151#consul reload

注意!!!:在线上主库发送故障转移后,从库会变为新主,在原主库重新排除故障上线之前应更改新主库的优先级为本副本集中最高,防止原主库上线后以高优先级强制重新抢占主库的地位,导致部分事务丢失或者连接抖动

MongoDB相关命令:

rs.isMaster() #检查自己是否为主
更改实例优先级
conf=rs.conf
conf.members[1].priority=10  #配置中显示顺序第二的优先级设为10(和_id段的数没关系,仅仅是显示的第二个)
rs.reconfig(conf)                        #只能在主上执行
rs.reconfig(conf,{force:true}) #可以强制在从上执行,但会导致原主库已执行,从库未执行未执行的事务被回滚
rs.slaveOk()                               #设置从库可读

以上是“如何构建MongoDB RepSet +Consul高可用切换系统”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/115006.html

(0)

相关推荐

  • ibatis框架和mybatis框架(ibatis接口mapper怎么写)

    技术如何解析iBATIS DAO框架如何解析iBATIS DAO框架,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。iBATIS DAO框架的书写方便,项目采

    攻略 2021年12月18日
  • Java访问权限原理与用法分析

    技术Java访问权限原理与用法分析这篇文章主要介绍“Java访问权限原理与用法分析”,在日常操作中,相信很多人在Java访问权限原理与用法分析问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”

    攻略 2021年11月4日
  • GOF设计模式在Spring框架中怎么实现

    技术GOF设计模式在Spring框架中怎么实现GOF设计模式在Spring框架中怎么实现,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。GOF

    攻略 2021年10月27日
  • Linux三剑客命令—awk

    技术Linux三剑客命令—awk Linux三剑客命令—awk一、概念说明
    官方概念说明:gawk - pattern scanning and processing language
    模式扫描和处理文

    礼包 2021年12月23日
  • 日本服务器租用哪家服务比较好

    技术日本服务器租用哪家服务比较好在租用日本服务器的时候首先要选择合适的机房才能确保服务器的正常稳定运行,那么如何判断自己选择的机房是否可靠呢,日本服务器租用哪家售后服务比较好,建议考察一下以下几点服务器维护 定期进行服务

    礼包 2021年12月16日
  • web前端面试中的常见的算法问题有哪些

    技术web前端面试中的常见的算法问题有哪些这篇文章主要介绍“web前端面试中的常见的算法问题有哪些”,在日常操作中,相信很多人在web前端面试中的常见的算法问题有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操

    攻略 2021年11月15日