问题标签 [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 - 通过 docker 脚本通过身份验证创建 Mongodb 副本集
我正在努力寻找通过 docker 脚本对我的 mongo db 副本集进行身份验证的解决方案。我能够在服务器的本机 mongo 上实现目标,但在 docker 映像中我无法实现身份验证。(我能够创建docker 镜像上的副本集)。
mongodb - MongoDB中的分片和复制
首先,我是 mongoDB 的初学者,所以请耐心等待。我正在使用 Windows,并创建了一个包含 4 个集合的简单数据库。当我处理 mongoDB 时,我首先运行:mongod.exe --dbpath "Path To Data Folder"
在终端中,然后使用mongo.exe
. 我应该做的是将数据库及其集合分发到分片和副本集以支持分布式查询。
我尝试使用类似的命令,sh.enableSharding("DATABASE NAME")
但它没有用。然后我发现我需要运行 mongos 而不是 mongod,所以我遵循了这个:Sharding in MongoDB但不幸的是我没有成功。我也做了一些研究,但似乎缺乏关于分片和复制的中肯指南。因此,如果您指出我正确的方向,我将不胜感激。
php - 获取连接到 MongoDB 副本集时使用的实际节点
我正在从mongoDB
副本集中查询数据。查询需要很长时间,我想确保没有从错误的节点读取数据。
是否可以获得用于给定查询的实际节点?
我正在使用PHP mongoDB
客户端。
mongodb - 副本集的 mongoimport 命令是否需要所有副本集成员,包括仲裁器?
我正在运行 MongoDB 2.6.2,并且我有一个包含主要、次要和仲裁器的副本集。仅使用一两个副本集成员运行 mongoimport 命令是否有任何不利影响?
更具体地说,是否需要在 mongoimport 命令的 --host 选项中指定仲裁器?文档清楚地描述了主机名格式(此处),但没有警告需要指定多少成员。
mongodb - 更新角色用户:管理员未授权执行命令
当我尝试获取有关副本的信息时,我收到以下错误:
我尝试使用以下两个用户执行命令:
虽然我有clusterAdmin
使用副本的角色,但我尝试更新 mongoadmin 的角色以读取本地数据库(因为所有角色都在 admin db 上授予)但我收到以下错误:
- 除了角色之外,我还需要什么才能获得对所有副本命令的完全访问权限
clusterAdmin
? - 如果两个用户中的任何一个都在 admin db 中具有权限(mongoadmin 是 dbOwner),为什么我没有更新命令的权限?
php - 带有PHP客户端的MongoDB副本集,避免节点之间的连接
我们有一个带有 2 个节点的 Mongodb 副本集,每个节点位于不同国家的不同 CPD 中。
两个节点之间的延迟是可测量的。写入数据时这不是问题,因为这是使用离线进程每天完成一次。
但是在读取的时候,每个请求中的节点都会建立它们之间的连接,这会花费很多时间并且使请求变慢,并且会在网络上产生问题。
我们发现在主节点和辅助节点之间打开了大约 700 个连接。
我尝试了几种连接、连接字符串和 readPreference 设置,但这总是会发生。
有没有什么方法可以在每个请求的节点之间不进行连接?当节点之间的距离不是很近时,人们如何应对这个问题?
编辑:
如果我重复运行测试脚本,有时它会非常快。我在 MongoLog 详细信息中看到了这一点:
当 3 个计时器中的任何一个达到 0 时,连接就建立了。看起来我可以增加 3 次检查的间隔,对吧?
mongodb - ConnectionPool::PoolShuttingDownError 由 application_controller rails 使用 Mongodb replicaSet 偶尔抛出
我有一个在两个不同的服务器上运行的 RoR 应用程序。它们运行相同版本的应用程序并且配置相似。我有一个 Mongodb 副本集在两个服务器上运行,第三个服务器作为任意服务器。
一切运行良好。数据同步完美。但运行 2 周后,其中一台服务器开始出现 ConnectionPool::PoolShuttingDownError。我检查了日志,我可以看到应用程序控制器引发了错误。我没有更改任何服务器上的任何代码。
引发错误的服务器很好,直到它同时收到 6-7 个请求。或者当您一起刷新页面 6-7 次时。它会一次又一次地出现此错误,您会刷新页面并使其恢复正常。这很奇怪,我不明白为什么一台服务器有这个问题,而另一台没有,而且有时也是如此。
我在 Moped、Rails 4.1.0 和 Ruby 2.1.5 中使用 Mongoid。我还使用大约 51158 的 db.serverStatus().connections 检查了可用连接,最大进程的 ulimit 为 257185。
我搜索了很多,但我仍然不确定这个问题的原因。如果有人能对这个问题有所了解,那就太好了。任何帮助将不胜感激。提前致谢。
mongodb - MongoDB 在副本集模式下插入速度变慢
我正在运行 MongoDB 2.4.5,最近我开始深入研究 Replica Set 以获得某种冗余。
我使用--replSet参数启动了同一个 mongo 实例,还添加了一个仲裁器来运行副本集。发生的事情是写入 mongo 的速度显着减慢(从 15 毫秒到 30-60 毫秒,有时甚至在 300 毫秒左右)。一旦我以非复制模式重新启动它,性能就会恢复正常。
我还设置了最新的 MongoDB 3.0 版本,没有数据并运行与以前相同的测试器,结果非常相似——运行 ReplicaSet 模式时写入速度至少慢了 50%。
我在网上找不到很多这种行为的例子,所以我猜我的 mongo 配置或操作系统配置有问题。
有任何想法吗?感谢帮助。
mongodb - mongodb:找不到要同步的成员
我对 mongodb 还很陌生
我有一个副本集 3 个节点 1 个主节点 (A) 1 个辅助节点 (B) 1 个仲裁器 (C)
副本集是使用 MMS 创建的,3 个节点位于 3 个不同的城市
我不断在辅助服务器上收到以下错误,每次持续至少一秒钟
- 正常吗
如果不知道如何纠正它
/li>
谢谢
问候
菲利普·库尔图瓦
mongodb - 如何在 EC2 US-WEST 中设置只有两个可用区的 MongoDB 副本集
我们正在us -west-1区域的Amazon EC2上设置MongoDB 副本集。
但是,该区域只有两个可用区。我的理解是 MongoDB 必须拥有多数才能正常工作。如果我们在区域中创建 2 台服务器,如果整个服务器出现故障us-west-1b
,其中一台服务器将无法提供高可用性,对吗?这怎么可能?推荐的配置是什么?us-west-1c
us-west-1b