Mongodb集群节点故障恢复场景分析

分类: 2011-04-03 00:35 211人阅读 (0)

一个适当配置的Mongodb分片集群是没有单点故障。

本文描述了分片集群中存在的几种不同的潜在的节点故障场景,以及Mongodb对这些节点故障是怎么处理的。

1、Mongos节点宕机

一个Mongos进程应该运行在每一个应用程序服务器上,这个服务器应该独占这个Mongos进程,并且通过它与分片集群来通讯。

Mongos进程不是持久化的,相反,它们在启动的时候从Config Server上收集所有必须的配置信息。

这表明,任何一个应用程序服务器节点故障,对作为一个整体的分片集群来讲并没有什么影响,所有别的应用程序服务器将依然是继续正常工作。

在这种情况下,恢复是一个相当简单的事情,我们只需要去启动一个新的应用程序服务器和一个新的Mongos进程即可。

2、分片中的某一个Mongod节点宕机

每一个分片由n个服务器构成,这n个服务器被配置为一个复制集(replica set)。如果在复制集中的任何一个节点宕机,在这个分片上读与写操作任然是允许的。

更加重要的是,宕机服务器上的数据都不会丢失,因为复制机制存在一个选项,那就是强制复制写操作到分片的其它节点上再返回,这与在Dynamo上设置write=2类似。

在MongoDB v1.6以后版本中Replica sets才是可用的。

3、分片中的所有Mongod节点宕机

如果一个分片中的全部节点(replicas)都宕机了,在该分片内的数据将不能被访问。然而,操作任然是继续进行,只不过是由别的分片分担。看文档就可以弄清楚为什么这样。

如果分片被配置为一个复制集(Replicas set),至少一个成员应该在另外一个数据中心,那样的话,整个分片都宕机几乎是不可能的。为了有更大的冗余度,推荐这样进行配置。

4、一个Config Server宕机

一个产品级的分片集群需要有3个Config Server进程,每一个进程都在一台独立的机器上运行。对于Config server中的集群元数据的写操作使用一个两阶段提交,去确保是一个原子的并且是被复制的事务操作。

在任何一个配置服务器失效的时候,Mongodb集群的元数据都会变成为只读了。集群系统继续运行,但是chunks在一个分片中将会成为不可以被拆分或者是不可以跨分片进行迁移。对于大多数使用场景,这个不会导致问题,应为改变Chunk元数据进行的并不频繁。

另外,使宕机的Config Server在一个合理的时间周期(一天)内恢复是相当重要的,这样可以避免分片由于缺乏迁移而变得负载不均衡(相对而言,对于大多数产品场景,这种现象也不是很严重的事情)。

分类: 2011-04-03 00:35 211人阅读 (0)

一个适当配置的Mongodb分片集群是没有单点故障。

本文描述了分片集群中存在的几种不同的潜在的节点故障场景,以及Mongodb对这些节点故障是怎么处理的。

1、Mongos节点宕机

一个Mongos进程应该运行在每一个应用程序服务器上,这个服务器应该独占这个Mongos进程,并且通过它与分片集群来通讯。

Mongos进程不是持久化的,相反,它们在启动的时候从Config Server上收集所有必须的配置信息。

这表明,任何一个应用程序服务器节点故障,对作为一个整体的分片集群来讲并没有什么影响,所有别的应用程序服务器将依然是继续正常工作。

在这种情况下,恢复是一个相当简单的事情,我们只需要去启动一个新的应用程序服务器和一个新的Mongos进程即可。

2、分片中的某一个Mongod节点宕机

每一个分片由n个服务器构成,这n个服务器被配置为一个复制集(replica set)。如果在复制集中的任何一个节点宕机,在这个分片上读与写操作任然是允许的。

更加重要的是,宕机服务器上的数据都不会丢失,因为复制机制存在一个选项,那就是强制复制写操作到分片的其它节点上再返回,这与在Dynamo上设置write=2类似。

在MongoDB v1.6以后版本中Replica sets才是可用的。

3、分片中的所有Mongod节点宕机

如果一个分片中的全部节点(replicas)都宕机了,在该分片内的数据将不能被访问。然而,操作任然是继续进行,只不过是由别的分片分担。看文档就可以弄清楚为什么这样。

如果分片被配置为一个复制集(Replicas set),至少一个成员应该在另外一个数据中心,那样的话,整个分片都宕机几乎是不可能的。为了有更大的冗余度,推荐这样进行配置。

4、一个Config Server宕机

一个产品级的分片集群需要有3个Config Server进程,每一个进程都在一台独立的机器上运行。对于Config server中的集群元数据的写操作使用一个两阶段提交,去确保是一个原子的并且是被复制的事务操作。

在任何一个配置服务器失效的时候,Mongodb集群的元数据都会变成为只读了。集群系统继续运行,但是chunks在一个分片中将会成为不可以被拆分或者是不可以跨分片进行迁移。对于大多数使用场景,这个不会导致问题,应为改变Chunk元数据进行的并不频繁。

另外,使宕机的Config Server在一个合理的时间周期(一天)内恢复是相当重要的,这样可以避免分片由于缺乏迁移而变得负载不均衡(相对而言,对于大多数产品场景,这种现象也不是很严重的事情)。


相关文章

  • 华为桌面云解决方案技术建议书-模板-E9000
  • 城建集团桌面云解决方案 华为技术有限公司 2014年7月 2015-05-18 华为机密 1 目 录 城建集团桌面云解决方案 ......................................................... ...查看


  • 五个解决方案让MongoDB拥有RDBMS的鲁棒性事务
  • [编者按]在分布式存储解决方案中谈事务一直是件很痛苦的事情,而事务也成了大部分NoSQL解决方案短板所在.近日,MongoDB公司的Antoine Girbal在其个人博客上撰文,分享了在MongoDB文档间实施鲁棒可扩展事务的5个解决方案 ...查看


  • 大数据分类探究
  • 大数据分类探究 云安全联盟大数据工作组发布 译者:李毅 中国惠普大学资深培训专家 摘要 在本文中,我们提出了一个大数据的六维度分类方法.这个分类方法的主要目的是帮助决策制定者在计算和存储架构以及数据分析技术.安全与隐私框架等多种选择中寻找正 ...查看


  • 未来的资源共享模式
  • 计算机的威力靠的是集群效应,任何强大的一台独立计算机也难以发挥作用,其效率只能是非常低下,资源严重浪费. 微电子技术的突破,纳米时代让硬件技术日新月异的发展,软件技术的发展正在迈向智能化.学习化.仿生人类化. 为了更好地发挥计算机软硬件系统 ...查看


  • 私有云超融合解决方案
  • 私有云超融合解决方案 目录 1. 2. 3. 项目背景 . .......................................................................................... ...查看


  • 超融合厂商产品与技术比较分析
  • 超融合厂商产品与技术比较分析 1 一.超融合基础架构市场现状 超融合基础架构(Hyper-Converged Infrastructure,或简称"HCI ")是实现"软件定义数据中心"的终极技术途径 ...查看


  • 服务器集群技术方案(2)
  • 服务器集群技术方案 一.概念与定义 集群(Cluster)技术是发展高性能计算机的一项技术.它是一组相互独立的计算机,利用高速通信网络组成一个单一的计算机系统,并以单一系统的模式加以管理.其出发点是提供高可靠性.可扩充性和抗灾难性.一个集群 ...查看


  • Dubbo路由模块设计说明书
  • Dubbo 路由模块 设计说明书 修改记录 1 目录 1. 1.1. 1.2. 引言 ............................................................................. ...查看


  • 微信支付商户系统的架构揭秘
  • 作者:李跃森,腾讯云PostgreSQL首席架构师,腾讯数据库团队架构师,PostgreSQL-x2社区核心成员,获多项国家发明专利,从事PG内核开发和架构设计超10年. 腾讯云数据库团队,继承腾讯数据库团队十多年海量存储的内部数据库运营和 ...查看


热门内容