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

相关推荐

  • 一周的英语,在英语中一周的第一天是星期几

    技术一周的英语,在英语中一周的第一天是星期几在英语中一周的第一天是星期天一周的英语。
    现在世界各国通用一星期七天的制度。这个制度最早由君士坦丁大帝(Constantine the Great)制定。他在公元321年3月7

    生活 2021年10月30日
  • 退烧按摩手法图解法,小儿发热推拿方法有哪些

    技术退烧按摩手法图解法,小儿发热推拿方法有哪些小儿发烧推拿手法有什么小儿发热是指小儿体温超过正常范围,可见于多种急、慢性疾病过程中退烧按摩手法图解法。根据小儿发热病因可将其分为外感发热、肺胃实热和阴虚内热,临床可采用按摩

    生活 2021年10月22日
  • 如何轻松搞定Pdf转Word用Python

    技术如何轻松搞定Pdf转Word用Python这期内容当中小编将会给大家带来有关如何轻松搞定Pdf转Word用Python,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。大家在日常的工作

    2021年10月28日
  • sql server排名函数DENSE_RANK的用法是什么

    技术sql server排名函数DENSE_RANK的用法是什么这篇文章将为大家详细讲解有关sql server排名函数DENSE_RANK的用法是什么,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文

    攻略 2021年11月30日
  • Ubuntu20.04如何安装wxWidgets-3.1.3

    技术Ubuntu20.04如何安装wxWidgets-3.1.3这篇文章主要介绍了Ubuntu20.04如何安装wxWidgets-3.1.3,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获

    攻略 2021年11月15日
  • C/C++指针知识点有哪些

    技术C/C++指针知识点有哪些本篇内容介绍了“C/C++指针知识点有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!基

    攻略 2021年11月30日