如何构建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)

相关推荐

  • 基于scopedsession实现线程安全

    技术基于scopedsession实现线程安全 基于scoped_session实现线程安全一、基于scoped_session实现线程安全
    from sqlalchemy.orm import ses

    礼包 2021年11月7日
  • linux安装docker的几种方法(linux docker 安装)

    技术在Linux系统中安装Docker的过程是怎样的在Linux系统中安装Docker的过程是怎样的,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。在这篇博客

    攻略 2021年12月23日
  • 香港服务器如何找到合适的服务商

    技术香港服务器如何找到合适的服务商如果您找到了具有您需要的硬件、软件和功能的香港机房服务商,那么下一个就是考虑他们的支持。您选择的供应商是否拥有确保您始终获得最佳服务水平的专业知识、设备和资源?在支持方面,需要考虑以下几

    礼包 2021年11月20日
  • python起点网月票榜字体反爬的方法是什么

    技术python起点网月票榜字体反爬的方法是什么本篇内容主要讲解“python起点网月票榜字体反爬的方法是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“python起点网

    攻略 2021年12月8日
  • 怎么解决RAC数据库环境修改scanip后客户端连接异常

    技术怎么解决RAC数据库环境修改scanip后客户端连接异常这篇文章主要讲解了“怎么解决RAC数据库环境修改scanip后客户端连接异常”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来

    攻略 2021年11月5日
  • Golang如何打包配置文件

    技术Golang如何打包配置文件这篇文章主要介绍了Golang如何打包配置文件,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。背景最近在写一个涉及到管理阿里

    攻略 2021年12月11日