问题标签 [mongodb-replica-set]

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 投票
8 回答
19084 浏览

mongodb - 如何关闭mongodb中的副本集?

我使用ubuntu。

我启动三个mongod副本集如下:

我怎样才能关闭它们?

0 投票
5 回答
26804 浏览

mongodb - 无法在 Ubuntu 中启动副本集

每当我输入:rs.initiate()时,我都会收到以下错误消息:

我正在使用最新的 MongoDB 在 google-cloud-engine 下运行。

关于如何解决这个问题的任何建议?

0 投票
3 回答
23116 浏览

mongodb - errmsg" : "新配置 1 中没有描述副本集 rs0 映射到此节点的主机",为什么我收到此消息?

每次我都会收到此消息rs.initiate()

副本集 rs0 的新配置 1 中没有描述的主机映射到此节点

这就是我的/etc/hosts/文件在两个副本集服务器上的外观。

服务器 1 和服务器 2 “主机”文件

127.0.0.1 本地主机
aa.bb.cc.dd DataMongo1
ee.ff.gg.hh DataMongo2

服务器 1-mongod.conf 文件

绑定 IP aa.bb.cc.dd

服务器 2 -mongod.conf 文件

绑定 IP ee.ff.gg.hh

将 server1 主机名更改为 DataMongo1,将 server2 更改为 DataMongo2

$主机名 DataMongo1

两台服务器上的端口 27071 均未注释

副本集配置文件

cfg= {
_id:"rs0",
members:[{_id:0,host:"DataMongo1:27071"},{_id:1,host:"DataMongo2:27071"}]}

请帮我解决这个问题。

0 投票
0 回答
198 浏览

mongodb - MongoDB - 大容量数据归档和 Oplog 大小

我有一个大型收藏的定期数据归档的请求。要求的几点引起了我的一些担忧:

  1. 存档的数据应移动到不同的数据库中,以便与生产应用程序进行同等的访问。
  2. 备份的频率可以是每月、每年甚至更低。
  3. 归档应该在不中断生产系统的可用性和性能的情况下进行。

此要求意味着在归档执行时的短时间内进行大量插入和删除。它有一些挑战需要解决。

  1. 对于同一条记录,删除只能发生并且必须在插入成功后发生。
  2. 大量的插入和删除可能会在复制完成到replicaset中的secondary节点之前将oplog炸毁。毕竟oplog size一般是为日常操作配置的。

对于挑战 1,Mitch Pronschinske 提出了一个非常接近的解决方案。Mitch 的存档功能解决了删除只能在插入成功后发生的问题,而不是“必须发生”的部分。尽管如此,这非常接近,并且可以在此脚本之上解决“必须发生”部分。

让我头疼的是挑战2。根据 MongoDB 的说明,更改 oplog 大小需要停机和人工干预。考虑到要求 3,这不太可能是一种选择。

有人对如何实现这一目标有任何经验或建议吗?谢谢!

我的环境信息:

  • MongoDB 3.2
  • 3个分片
  • Replicaset:3 个数据成员,1 个成员在地理上是冗余的,优先级为 0。
  • 操作系统:MS Win2012R2
0 投票
1 回答
1027 浏览

mongodb - Mongo 副本集配置

当我的虚拟内存限制超过时,我配置了一个 3 节点副本集并卸载了 mongo,然后当我开始我的 mongo 复制时,我无法让这些命令工作。

我以前的副本集有primary(27017)secondary(27018,27019) 重新安装后我可以得到辅助工作,但我的主说

没有找到副本集conf。

我不明白到底发生了什么。要么我错过了一些文件,要么 mongo 想让我了解更多。请尽快寻求建议。

0 投票
1 回答
73 浏览

mongodb - mongodb副本集没问题但不复制

我已经创建了我的 mongodb 副本集,除了没有在远程主机中复制之外,一切都是正确的,但是我尝试在端口 27017 访问远程 pc 并正常工作。我在远程 PC 上创建了数据库,看看是否解决了,但没有,我也插入了新记录,但没有,有什么想法吗?

rs.status()

rs.conf

0 投票
1 回答
2599 浏览

mongodb - Mongo 只读同步数据库

我有一个mongo的replicaSet正在运行,我只想拥有另一个相同replicaSet(slave)的只读克隆,其中的所有数据都与replicaSet(master)同步。我在这里遇到了一个可用的解决方案。但无法完全弄清楚它的工作方式。实施相同的任何建议或方法。

0 投票
1 回答
1025 浏览

mongodb - 从 mongo 副本集中的特定节点读取数据

我有一个由三个成员组成的副本集。我是否可能只想从两个辅助节点之一读取?我使用以下代码,其中 ip 是辅助节点之一,但我仍然看到流量已部署到其他节点。

0 投票
1 回答
3960 浏览

mongodb - 如何连接到 MongoDB 分片集群

我在 aws 上设置了一个集群,看起来像这样

我想通过连接字符串 URI 连接到它。

我的连接字符串目前如下所示:

但由于某种原因,当我尝试连接它时,我得到了无法访问的错误。

但是,我可以很好地连接到单个分片。

我在这里缺少什么阻止我连接到整个集群?

0 投票
1 回答
1864 浏览

mongodb - MongoClientURI 连接字符串中是否需要 ReplicaSet 名称?

在为从 Java 应用程序连接到 MongoDB 副本集指定客户端 URI 时,我对 MongoDB 连接字符串replicaSet选项的使用/需要感到困惑。

我有 3 个运行的 MongoDB 节点实例组成副本集,每个实例都被指定为同一副本集的成员。我想从我的 Java 应用程序连接到副本集。我对我读过的文档感到困惑,当我提供超过 2 个主机名的列表时,是否甚至需要在连接字符串中指定副本集名称。

这是我启动 3 节点 MongoDB 实例的方法。

  1. Server1$: mongod --replSet " rs0 "
  2. Server2$: mongod --replSet " rs0 "
  3. Server3$: mongod --replSet " rs0 "

我假设随后会发生协商,并选出一个主节点,其余的被标记为辅助节点。

然后我想通过我的 Java 应用程序中的 MongoClient 调用连接到副本集。是否需要实际的副本集名称?我需要列出副本集的每个成员,还是 MongoDB 驱动程序只需要副本集的一个成员来确定其余的?

我需要 replicaSet 选项吗?