位置: 编程技术 - 正文

mongodb主从复制_动力节点Java学院整理(mongodb主从复制原理)

编辑:rootadmin

推荐整理分享mongodb主从复制_动力节点Java学院整理(mongodb主从复制原理),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:mongodb复制集,mongodb主从复制和副本集架构有什么联系和区别,mongodb主从复制和副本集的区别,mongodb主从复制和副本集架构有什么联系和区别,mongodb主从复制状态,mongodb主从复制状态,mongodb主从复制原理,mongodb主从复制和副本集,内容如对您有帮助,希望把文章链接给更多的朋友!

从这一篇开始我们主要讨论mongodb的部署技术。

我们知道sql server能够做到读写分离,双机热备份和集群部署,当然mongodb也能做到,实际应用中我们不希望数据库采用单点部署,如果碰到数据库宕机或者被毁灭性破坏那是多么的糟糕。

一:主从复制

1: 首先看看模型图

2: 从上面的图形中我们可以分析出这种架构有如下的好处:

<1> 数据备份。

<2> 数据恢复。

<3> 读写分离。

3:下面我们就一一实践

实际应用中我们肯定是多服务器部署,限于自己懒的装虚拟机,就在一台机器上实践了。

第一步:我们把mongodb文件夹放在D盘和E盘,模拟放在多服务器上。

第二步:启动D盘上的mongodb,把该数据库指定为主数据库,其实命令很简单:>mongodb --dbpath='XXX' --master,

端口还是默认的.

第三步:同样的方式启动E盘上的mongodb,指定该数据库为从属数据库,命令也很简单,当然我们要换一个端口,比如:。

source 表示主数据库的地址。

>mongod --dbpath=xxxx --port= --slave --source=.0.0.1:

第四步:从图中的红色区域我们发现了一条:“applied 1 operations"这样的语句,并且发生的时间相隔s,也就说明从属数据库每s

就向主数据库同步数据,同步依据也就是寻找主数据库的”OpLog“日志,可以在图中红色区域内发现”sync_pullOpLog“字样。

接下来我们要做的就是测试,惊讶的发现数据已经同步更新,爽啊。

4:如果我还想增加一台从属数据库,但是我不想在启动时就指定,而是后期指定,那么mongodb可否做的到呢?答案肯定是可以的。

我们的主或者从属数据库中都有一个叫做local的集合,主要是用于存放内部复制信息。

好,那么我们就试一下,我在F盘再拷贝一份mongodb的运行程序,cmd窗口好多啊,大家不要搞乱了。

mongodb主从复制_动力节点Java学院整理(mongodb主从复制原理)

看上面的log,提示没有主数据库,没关系,某一天我们良心发现,给他后期补贴一下,哈哈,再开一个cmd窗口,语句也就是

在sources中add一个host地址,最后发现数据也同步到.0.0.1:这台从属数据库中....

5: 读写分离

这种手段在大一点的架构中都有实现,在mongodb中其实很简单,在默认的情况下,从属数据库不支持数据的读取,但是没关系,

在驱动中给我们提供了一个叫做“slaveOkay"来让我们可以显示的读取从属数据库来减轻主数据库的性能压力,这里就不演示了。

二:副本集

这个也是很牛X的主从集群,不过跟上面的集群还是有两点区别的。

<1>: 该集群没有特定的主数据库。

<2>: 如果哪个主数据库宕机了,集群中就会推选出一个从属数据库作为主数据库顶上,这就具备了自动故障恢复功能,很牛X的啊。

好,我们现在就来试一下,首先把所有的cmd窗口关掉重新来,清掉db下的所有文件。

第一步: 既然我们要建立集群,就得取个集群名字,这里就取我们的公司名shopex, --replSet表示让服务器知道shopex下还有其他数据库,

这里就把D盘里面的mongodb程序打开,端口为。指定端口为是shopex集群下的另一个数据库服务器。

第二步: 既然上面说是另一个数据库服务器,不要急,现在就来开,这里把E盘的mongodb程序打开。

第三步: ok,看看上面的日志红色区域,似乎我们还没有做完,是的,log信息告诉我们要初始化一下“副本集“,既然日志这么说,那我也就

这么做,随便连接一下哪个服务器都行,不过一定要进入admin集合。

第四步: 开启成功后,我们要看看谁才能成为主数据库服务器,可以看到端口为的已经成为主数据库服务器。

第五步:我们知道sql server里面有一个叫做仲裁服务器,那么mongodb中也是有的,跟sql server一样,仲裁只参与投票选举,这里我们

把F盘的mongodb作为仲裁服务器,然后指定shopex集群中的任一个服务器端口,这里就指定。

然后我们在admin集合中使用rs.addArb()追加即可。

追加好了之后,我们使用rs.status()来查看下集群中的服务器状态,图中我们可以清楚的看到谁是主,还是从,还是仲裁。

不是说该集群有自动故障恢复吗?那么我们就可以来试一下,在端口的cmd服务器按Ctrl+C来KO掉该服务器,立马我们发现

在端口的从属服务器即可顶上,最后大家也可以再次使用rs.status()来看下集群中服务器的状态。

标签: mongodb主从复制原理

本文链接地址:https://www.jiuchutong.com/biancheng/312680.html 转载请保留说明!

上一篇:mongodb运维_动力节点Java学院整理(mongodb运行)

下一篇:mongodb增删改查详解_动力节点Java学院整理(mongodb数据删除)

  • 当月只有进项税额月末怎么办
  • 本年利润怎么结转分录
  • 平行结转分步法各步骤的费用
  • 结转本月完工入库产品制造成本,甲产品800台全部完工
  • 房产税简易征收的时间
  • 交易性金融资产属于什么科目
  • 小规模纳税人差额征收税率是多少
  • 旅客运输进项税可以加计抵减么
  • 个税返还需要缴纳所得税吗
  • 作废的支票银行怎么处理
  • 有哪些税收政策类型
  • 加工费的计提工资账务处理
  • 工会经费拨缴是什么意思
  • 未实缴出资的股东退股
  • 跨月负数发票会计分录
  • 哪些单位可以开专票
  • 加油站的印花税计税金额
  • 发票上面税率地方为*号代表什么
  • 公司发生的费用需要交税吗
  • 微信认证服务费可以开发票吗
  • 使用权资产的界定
  • 冲减以前年度所得税费用
  • 未摊销金额怎么算
  • 个人以非货币性资产投资个人所得税
  • 核定征收和查账征收,交的税一样吗
  • 升级声卡驱动后声音禁用了怎么恢复
  • 设备拆装费计入什么科目
  • 五险会计分录会计处理
  • 金融企业贷款损失准备金税务管理
  • 材料暂估入库需要备案吗
  • NPFMSG.exe - NPFMSG是什么进程 有什么用
  • thinkphp save
  • 转销盘盈会计分录
  • STP详解
  • PHP:imagecolormatch()的用法_GD库图像处理函数
  • 红字发票如何开具
  • 实收资本本年利润属于什么科目
  • 未分配利润与净利润关系
  • 2021mathorcupc题答案
  • 增值税纳税申报操作流程
  • 出差餐补属于福利费吗
  • 公司缴纳的印花税会计分录
  • 结转清理损失会计分录
  • 依法无需办理税务登记证
  • 数字黑洞有哪些
  • 材料短缺计入成本吗
  • 结转以后年度扣除的费用有哪些
  • 法定盈余公积的作用
  • 预付款已经开了发票要怎么做账
  • 垃圾处理费怎么申报
  • 出差的住宿费能抵扣吗
  • 不能抵扣的普通发票如何做分录
  • 五险一金缴纳比例2023
  • 其他债权投资的特征有哪些
  • 国外扣款手续费
  • 长期股权投资会计实训心得
  • 汽车租赁公司怎么办理
  • 工程施工企业外管证怎么办理
  • 收购分公司有什么要求
  • 存货跌价准备的计算
  • 开给个人的普通增值税
  • 如何提取工会经费的钱
  • 办理营业执照需要什么条件
  • 史上最简单的皮筋枪
  • centos安装编译环境
  • window系统怎么截屏屏幕
  • 迁移windows
  • centos chrony
  • 如何在xp系统中调整移动硬盘
  • Remind_XP.exe - Remind_XP是什么进程 有什么用
  • window10的微软商店在哪
  • po|iceofficer是什么意思
  • 不得不佩服自己的搞笑说说
  • 百分比的介绍
  • node.js设置环境变量
  • 使用粗盐热敷十大危害
  • 魔兽世界全部开发成本
  • js的文件操作
  • 国家税务贵州省税务
  • 土地买卖谈判开场陈述
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设