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

相关推荐

  • 怎么解决异机恢复PDB后出现的ORA-65294错误

    技术怎么解决异机恢复PDB后出现的ORA-65294错误这篇文章主要介绍“怎么解决异机恢复PDB后出现的ORA-65294错误”,在日常操作中,相信很多人在怎么解决异机恢复PDB后出现的ORA-65294错误问题上存在疑

    攻略 2021年11月3日
  • python编程实现用for计算n的阶乘(python如何编写阶乘)

    技术Python如何实现阶乘之和这篇文章给大家分享的是有关Python如何实现阶乘之和的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。代码实现Sum=0
    factorial=1
    num = in

    攻略 2021年12月14日
  • dynamodb入门(dynamodb的使用方法)

    技术如何解决DynamoDB的问题如何解决DynamoDB的问题,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。DynamoDB 是 Amaz

    攻略 2021年12月23日
  • MySQL密码该怎么备忘

    技术MySQL密码该怎么备忘这篇文章将为大家详细讲解有关MySQL密码该怎么备忘,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。在windows下: 打开命令行窗口,停止m

    攻略 2021年11月20日
  • 抖音刷粉网,免费抖音刷粉工具?

    技术抖音刷粉网,免费抖音刷粉工具?抖音可以花钱购买粉丝,很多营销人员想购买粉丝在抖音上推广,这导致目前刷粉粉普遍是抖音。抖音官方公告正式发布,如果有刷粉,刷点赞,刷评论和其他行为将会被封号的,但事实上,找到一个定期刷粉平

    测评 2021年10月20日
  • 如何使用@SentinelResource注解灵活的定义控制资源以及如何配置控制策略

    技术如何使用@SentinelResource注解灵活的定义控制资源以及如何配置控制策略如何使用@SentinelResource注解灵活的定义控制资源以及如何配置控制策略,很多新手对此不是很清楚,为了帮助大家解决这个难

    攻略 2021年10月20日