故障转移分片mongodb。自动重新连接无效

问题描述 投票:0回答:1

我已经为MongoDB配置了分片。我的设置如下:

  • 3台ConfigServers
  • 2个分片服务器(Shard1和Shard2),每个都有3个ReplicaSet节点
  • 1个mongos实例

我当前的收藏集具有主要的分片1。我的所有数据现在都存储在分片1上。我对,只要我的分片1满了,数据就将存储在分片2上吗?

我现在正在测试当碎片1服务器关闭时的故障转移方案,那么数据应该到达碎片2,但这不会发生吗?它应该自动自动重新连接到Shard 1,对吗?

mongodb replication sharding
1个回答
0
投票

我当前的收藏集具有主要分片1。我的所有数据现在存储在碎片1上。对吗?数据将被存储吗?我的碎片1装满后立即在碎片2上运行?

共享是关于在碎片之间分配集合中的数据。分片是在数据库级别启用的,但分片上的实际数据分发是在收集级别的。因此,分片数据库可以具有分片和未分片的集合。所有未分片的集合都驻留在主分片上。分片的收集数据分布在多个分片上(基于分片密钥)。对分片数据库的所有查询(无论分片或非分片集合如何)都通过mongos路由器。

对于分片集合,可能会将初始数据全部存储在一个分片上。稍后,随着数据的增长,它会分发到下一个分片。参见data partitioning with chunks

我现在正在测试碎片1服务器关闭时的故障转移方案那么数据应该转到碎片2,但不会发生吗?这应该自动自动重新连接到Shard 1,对吗?

Faliover是与复制而不是分片相关的过程。一个副本集具有多个节点(如分片配置中所指定,每个分片都是一个副本集)。当副本集中的主节点发生故障(或崩溃)时,其余两个辅助节点将进行一次选举并选举一个新的主节点。客户端应用程序将自动连接到新的主数据库。当先前的主节点再次出现时,它将成为次节点。

请参见replication failover

© www.soinside.com 2019 - 2024. All rights reserved.