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

相关推荐

  • SequoiaDB 2 . 8 . 4中显示的打开文件中的值是怎么来的?

    技术SequoiaDB v2.8.4显示的open files中的值怎么来的这篇文章主要介绍“SequoiaDB v2.8.4显示的open files中的值怎么来的”,在日常操作中,相信很多人在SequoiaDB v2

    攻略 2021年12月22日
  • mr on yarn架构

    技术mr on yarn架构 mr on yarn架构提交作业①程序打成jar包,在客户端运行hadoop jar命令,提交job到集群运行job.waitForCompletion(true)中调用J

    礼包 2021年12月3日
  • mysql企业备份工具mysqlbackup如何安装使用

    技术mysql企业备份工具mysqlbackup如何安装使用这篇文章主要介绍mysql企业备份工具mysqlbackup如何安装使用,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

    攻略 2021年11月3日
  • 日本服务器有什么用

    技术日本服务器有什么用根据拥有的网站类型,共享服务器可能更可取。如果您只想在自己的空间中部署您的网站,您可以利用这个独享服务器系统。它通常受到网站访问量非常高的公司、电子商务网站和品牌的青睐。日本服务器也是那些不想在其服

    礼包 2021年12月15日
  • 为什么开发Deno

    技术为什么开发Deno本篇内容主要讲解“为什么开发Deno”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“为什么开发Deno”吧!0. 为什么开发 Deno?这是我上周做的一张

    攻略 2021年11月11日
  • 笔记本键盘失灵怎么办,笔记本电脑键盘失灵怎么办

    技术笔记本键盘失灵怎么办,笔记本电脑键盘失灵怎么办笔记本键盘按键失灵可分为2种情况笔记本键盘失灵怎么办:比较常见的按字母键会显示成数字的情况发生,遇到最多的就是这种情况了;另外一种情况是笔记本键盘出现了问题,具体解决方法

    生活 2021年10月20日