问题标签 [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.
mongodb - 对于容错为 2 的副本集,1 个主 2 个辅助和 2 个仲裁器是否正确?
我需要容错 2,我不想为此使用额外的服务器。我计划为每个副本集使用以下配置。每个 mongodbX-X 都是不同的服务器。
这是对的吗?我找不到任何关于相同配置的讨论。
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 配置进行该操作,但还没有找到解决方案.. 任何想法?
提前致谢
mongodb - 如何确定操作导致 MongoDB 服务器上的 getMore 操作
我在复制集中的主服务器上的 mongostat 中看到以下内容:
如您所见,getmore 计数在任何其他形式的操作中占主导地位。这是最近才开始发生的事情,正如所附的操作计数器图表所示。根据我的阅读,这些可能来自副本集操作,但就我而言,我想找到一种方法来确认这一点。无论如何我可以确定这些 getmore 操作的来源吗?
更新:添加了来自 MMS 的 opcounters 的新屏幕截图,其中包括图例。
mongodb - MongoDb 是否会在使用 write-concern 插入时锁定辅助读取操作:多数?
MongoDb目前的配置是:
- 一个主节点(A),两个次节点(B和C),都是一个副本集的一部分
- 对主节点的插入是通过写关注完成的:多数
- 从副本集读取时,读取首选项设置为“最近”
场景:
- 一个插入被触发,这意味着它只有在它传播到大多数副本集成员之后才会成功
- 在写操作返回之前,应用程序无法从主数据库读取(参考)
- 由于写入关注点设置为“多数”,写入操作仅在传播到至少一个辅助 ( B ) 实例后才会返回,在我们的示例中设置了 3 个成员
- 这意味着辅助(B)也被锁定以供读取,因为它正在复制(根据this)
问题是,由于应用程序设置为从最近的实例读取,并且假设最近的实例是另一个辅助实例(C),如果在其他 2 个实例上仍在进行写入操作的同时读取请求通过,将允许或阻止读取。如果允许,我该如何防止?
mongodb - “secondaryPreferred”在这种情况下如何工作?
假设有一个包含三个节点的副本集P
:1 个主节点和 2 个辅助节点,S1
并且S2
. 还假设P
和S1
位于一个数据中心DC1
和S2
另一个数据中心DC2
。
假设客户端位于(即与 和位于DC1
同一数据中心)并且已关闭。客户查询将去哪里?还是?P
S1
S1
P
S2
mongodb - mongo - 阅读偏好设计策略
我有一个应用程序,我的任务是设计一个 mongo 支持的数据存储。
应用程序的目标是以最快的加载时间提供最新的数据(没有陈旧的数据)。
数据大小约为数百万,应用程序写入繁重。
在选择给定 3 节点副本集(1 个主要副本、1 个辅助节点、1 个仲裁者)的读取策略时,我遇到了两种不同的策略来确定从何处获取读取 -
从次级读取以减少初级负载。使用
writeConcern = REPLICA_SAFE
,从而确保在主服务器和辅助服务器上完成写入。设置阅读偏好。到secondaryPreferred
.始终从主要读取。但在读取之前确保数据是主要的。所以设置
writeConcern= SAFE
。读取首选项是默认值 -primaryPreferred
。
在选择其中一个选项之前要考虑哪些事项。
mongodb - 带有副本集的 Mongodump:如何强制辅助?
我的 MongoDB 副本集备份有一个奇怪的问题。我有 2 台服务器(一台主服务器和一台辅助服务器),每 2 小时运行一次备份任务。
我用这个:mongodump.exe --db MyBase --out "d:\Backups"
但是,当我运行此备份时,我的客户端应用程序 (c#) 会抛出如下错误:
MongoDB.Driver.MongoConnectionException:无法连接到与读取首选项 Primary 匹配的副本集的成员
我认为 mongodump 对客户端应用程序没有任何影响。所以,就这么说吧。
我只想在辅助服务器上强制执行我的备份操作。我该如何进行?运行的命令是什么?
感谢您的帮助。
mongodb - Mongodb Index On 副本集成员仅用于报告
我将 Mongodb 设置为 1 个主要、1 个辅助和 1 个 abiter。是否可以仅出于报告目的对二级收藏进行索引?
mongodb - ReplicaSet 中的 MongoDB 多个 Master
我有一个关于 MongoDB 的副本集中的多个主控的问题。我有以下布局:
服务器 A --> 带有 MongoDB 和几个应用程序
服务器 B --> 带有 MongoDB 和几个应用程序
MongoDB 的两个实例都组织在同一个副本集中(服务器 A 为主,服务器 B 为辅助)。但是现在问题来了。两个数据库都应该包含来自服务器上应用程序的数据。
是否可以部署具有两个主服务器的副本集,以便服务器 A 的数据在服务器 B 的 MongoDB 中可用,反之亦然?
非常感谢您提前
mongodb - 为 Ssl 配置 MongoDB 副本集与副本集之间的安全通信
我们目前在我们的测试环境中有一个 mondogDB 部署。我们有 7 个成员的 Replica Set,没有 Arbiter。
只是好奇这是否可能,即仅配置副本集成员之间复制的数据安全,但不配置从客户端到此 MongoDB 集群的实际通信
_非常感谢