问题标签 [replicaset]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
426 浏览

mongodb - 对于容错为 2 的副本集,1 个主 2 个辅助和 2 个仲裁器是否正确?

我需要容错 2,我不想为此使用额外的服务器。我计划为每个副本集使用以下配置。每个 mongodbX-X 都是不同的服务器。

这是对的吗?我找不到任何关于相同配置的讨论。

0 投票
1 回答
578 浏览

django - Django mongoengine odm 在副本集上使用辅助实例

我有一个在只读模式下工作的 Django(使用 mongoengine)网站,以及一个填充该 MongoDB(由 Django 读取)的离线 python 应用程序。面对一些锁定问题,我发现复制集会有所改进,因为我可以将辅助实例设为网站数据库。

起初我只是更改了与辅助实例主机的连接,并得到了错误:

之后,我尝试通过注册连接来解决它,但没有成功,然后升级到 mongoengine 0.8.7,可以连接:

但是现在我在使用 ReadPreference.PRIMARY_PREFERRED 或 ReadPreference.SECONDARY_PREFERRED 时收到两条不同的错误消息...

使用 PRIMARY_PREFERRED 它返回:

并使用 SECONDARY_PREFERRED:

我被困在这一步,寻找一种方法来允许通过 mongoengine 和/或 mongodb 配置进行该操作,但还没有找到解决方案.. 任何想法?

提前致谢

0 投票
2 回答
11936 浏览

mongodb - 如何确定操作导致 MongoDB 服务器上的 getMore 操作

我在复制集中的主服务器上的 mongostat 中看到以下内容:

如您所见,getmore 计数在任何其他形式的操作中占主导地位。这是最近才开始发生的事情,正如所附的操作计数器图表所示。根据我的阅读,这些可能来自副本集操作,但就我而言,我想找到一种方法来确认这一点。无论如何我可以确定这些 getmore 操作的来源吗?

在此处输入图像描述

更新:添加了来自 MMS 的 opcounters 的新屏幕截图,其中包括图例。

0 投票
2 回答
1316 浏览

mongodb - MongoDb 是否会在使用 write-concern 插入时锁定辅助读取操作:多数?

MongoDb目前的配置是:

  • 一个主节点(A),两个次节点(BC),都是一个副本集的一部分
  • 对主节点的插入是通过写关注完成的:多数
  • 从副本集读取时,读取首选项设置为“最近”

场景

  • 一个插入被触发,这意味着它只有在它传播到大多数副本集成员之后才会成功
  • 在写操作返回之前,应用程序无法从主数据库读取(参考
  • 由于写入关注点设置为“多数”,写入操作仅在传播到至少一个辅助 ( B ) 实例后才会返回,在我们的示例中设置了 3 个成员
  • 这意味着辅助(B)也被锁定以供读取,因为它正在复制(根据this

问题是,由于应用程序设置为从最近的实例读取,并且假设最近的实例是另一个辅助实例(C),如果在其他 2 个实例上仍在进行写入操作的同时读取请求通过,将允许或阻止读取。如果允许,我该如何防止?

0 投票
2 回答
990 浏览

mongodb - “secondaryPreferred”在这种情况下如何工作?

假设有一个包含三个节点的副本集P:1 个主节点和 2 个辅助节点,S1并且S2. 还假设PS1位于一个数据中心DC1S2另一个数据中心DC2

假设客户端位于(即与 和位于DC1同一数据中心)并且已关闭。客户查询将去哪里?还是?PS1S1PS2

0 投票
1 回答
740 浏览

mongodb - mongo - 阅读偏好设计策略

我有一个应用程序,我的任务是设计一个 mongo 支持的数据存储。

应用程序的目标是以最快的加载时间提供最新的数据(没有陈旧的数据)。

数据大小约为数百万,应用程序写入繁重。

在选择给定 3 节点副本集(1 个主要副本、1 个辅助节点、1 个仲裁者)的读取策略时,我遇到了两种不同的策略来确定从何处获取读取 -

  • 从次级读取以减少初级负载。使用writeConcern = REPLICA_SAFE,从而确保在主服务器和辅助服务器上完成写入。设置阅读偏好。到secondaryPreferred.

  • 始终从主要读取。但在读取之前确保数据是主要的。所以设置 writeConcern= SAFE。读取首选项是默认值 - primaryPreferred

在选择其中一个选项之前要考虑哪些事项。

0 投票
2 回答
14325 浏览

mongodb - 带有副本集的 Mongodump:如何强制辅助?

我的 MongoDB 副本集备份有一个奇怪的问题。我有 2 台服务器(一台主服务器和一台辅助服务器),每 2 小时运行一次备份任务。

我用这个:mongodump.exe --db MyBase --out "d:\Backups"

但是,当我运行此备份时,我的客户端应用程序 (c#) 会抛出如下错误:

MongoDB.Driver.MongoConnectionException:无法连接到与读取首选项 Primary 匹配的副本集的成员

我认为 mongodump 对客户端应用程序没有任何影响。所以,就这么说吧。

我只想在辅助服务器上强制执行我的备份操作。我该如何进行?运行的命令是什么?

感谢您的帮助。

0 投票
1 回答
157 浏览

mongodb - Mongodb Index On 副本集成员仅用于报告

我将 Mongodb 设置为 1 个主要、1 个辅助和 1 个 abiter。是否可以仅出于报告目的对二级收藏进行索引?

0 投票
3 回答
19198 浏览

mongodb - ReplicaSet 中的 MongoDB 多个 Master

我有一个关于 MongoDB 的副本集中的多个主控的问题。我有以下布局:

服务器 A --> 带有 MongoDB 和几个应用程序

服务器 B --> 带有 MongoDB 和几个应用程序

MongoDB 的两个实例都组织在同一个副本集中(服务器 A 为主,服务器 B 为辅助)。但是现在问题来了。两个数据库都应该包含来自服务器上应用程序的数据。

是否可以部署具有两个主服务器的副本集,以便服务器 A 的数据在服务器 B 的 MongoDB 中可用,反之亦然?

非常感谢您提前

0 投票
2 回答
1914 浏览

mongodb - 为 Ssl 配置 MongoDB 副本集与副本集之间的安全通信

我们目前在我们的测试环境中有一个 mondogDB 部署。我们有 7 个成员的 Replica Set,没有 Arbiter。

只是好奇这是否可能,即仅配置副本集成员之间复制的数据安全,但不配置从客户端到此 MongoDB 集群的实际通信

_非常感谢