问题标签 [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.
mongodb - 如何关闭mongodb中的副本集?
我使用ubuntu。
我启动三个mongod副本集如下:
我怎样才能关闭它们?
mongodb - 无法在 Ubuntu 中启动副本集
每当我输入:rs.initiate()
时,我都会收到以下错误消息:
我正在使用最新的 MongoDB 在 google-cloud-engine 下运行。
关于如何解决这个问题的任何建议?
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"}]}
请帮我解决这个问题。
mongodb - MongoDB - 大容量数据归档和 Oplog 大小
我有一个大型收藏的定期数据归档的请求。要求的几点引起了我的一些担忧:
- 存档的数据应移动到不同的数据库中,以便与生产应用程序进行同等的访问。
- 备份的频率可以是每月、每年甚至更低。
- 归档应该在不中断生产系统的可用性和性能的情况下进行。
此要求意味着在归档执行时的短时间内进行大量插入和删除。它有一些挑战需要解决。
- 对于同一条记录,删除只能发生并且必须在插入成功后发生。
- 大量的插入和删除可能会在复制完成到replicaset中的secondary节点之前将oplog炸毁。毕竟oplog size一般是为日常操作配置的。
对于挑战 1,Mitch Pronschinske 提出了一个非常接近的解决方案。Mitch 的存档功能解决了删除只能在插入成功后发生的问题,而不是“必须发生”的部分。尽管如此,这非常接近,并且可以在此脚本之上解决“必须发生”部分。
让我头疼的是挑战2。根据 MongoDB 的说明,更改 oplog 大小需要停机和人工干预。考虑到要求 3,这不太可能是一种选择。
有人对如何实现这一目标有任何经验或建议吗?谢谢!
我的环境信息:
- MongoDB 3.2
- 3个分片
- Replicaset:3 个数据成员,1 个成员在地理上是冗余的,优先级为 0。
- 操作系统:MS Win2012R2
mongodb - Mongo 副本集配置
当我的虚拟内存限制超过时,我配置了一个 3 节点副本集并卸载了 mongo,然后当我开始我的 mongo 复制时,我无法让这些命令工作。
我以前的副本集有primary(27017)
,secondary(27018,27019)
重新安装后我可以得到辅助工作,但我的主说
没有找到副本集conf。
我不明白到底发生了什么。要么我错过了一些文件,要么 mongo 想让我了解更多。请尽快寻求建议。
mongodb - mongodb副本集没问题但不复制
我已经创建了我的 mongodb 副本集,除了没有在远程主机中复制之外,一切都是正确的,但是我尝试在端口 27017 访问远程 pc 并正常工作。我在远程 PC 上创建了数据库,看看是否解决了,但没有,我也插入了新记录,但没有,有什么想法吗?
rs.status()
rs.conf
mongodb - Mongo 只读同步数据库
我有一个mongo的replicaSet正在运行,我只想拥有另一个相同replicaSet(slave)的只读克隆,其中的所有数据都与replicaSet(master)同步。我在这里遇到了一个可用的解决方案。但无法完全弄清楚它的工作方式。实施相同的任何建议或方法。
mongodb - 从 mongo 副本集中的特定节点读取数据
我有一个由三个成员组成的副本集。我是否可能只想从两个辅助节点之一读取?我使用以下代码,其中 ip 是辅助节点之一,但我仍然看到流量已部署到其他节点。
mongodb - 如何连接到 MongoDB 分片集群
我在 aws 上设置了一个集群,看起来像这样
我想通过连接字符串 URI 连接到它。
我的连接字符串目前如下所示:
但由于某种原因,当我尝试连接它时,我得到了无法访问的错误。
但是,我可以很好地连接到单个分片。
我在这里缺少什么阻止我连接到整个集群?
mongodb - MongoClientURI 连接字符串中是否需要 ReplicaSet 名称?
在为从 Java 应用程序连接到 MongoDB 副本集指定客户端 URI 时,我对 MongoDB 连接字符串replicaSet选项的使用/需要感到困惑。
我有 3 个运行的 MongoDB 节点实例组成副本集,每个实例都被指定为同一副本集的成员。我想从我的 Java 应用程序连接到副本集。我对我读过的文档感到困惑,当我提供超过 2 个主机名的列表时,是否甚至需要在连接字符串中指定副本集名称。
这是我启动 3 节点 MongoDB 实例的方法。
- Server1$: mongod --replSet " rs0 "
- Server2$: mongod --replSet " rs0 "
- Server3$: mongod --replSet " rs0 "
我假设随后会发生协商,并选出一个主节点,其余的被标记为辅助节点。
然后我想通过我的 Java 应用程序中的 MongoClient 调用连接到副本集。是否需要实际的副本集名称?我需要列出副本集的每个成员,还是 MongoDB 驱动程序只需要副本集的一个成员来确定其余的?
我需要 replicaSet 选项吗?