草庐IT

mongodb - 配置 Mongo 副本集以仅复制某些集合

我有一个大约3GB的mongo数据库,其中包含几十个集合。其中三个集合每秒处理约300个查询,而其余的则维持低得多的数量。我预计流量会继续快速增长。我想设置一个副本集来处理高流量集合。这个新实例没有必要复制数据库的其余部分。这可能吗? 最佳答案 目前似乎无法通过mongodb的内置功能实现,唯一的办法是提出自己的手动复制算法或使用第三方编写的一些其他工具。https://github.com/wordnik/wordnik-oss根据以下帖子,该项目可能会帮助您实现这一目标。https://groups.google.com/for

mongodb - MongoDB java 驱动程序如何确定副本集是否处于自动故障转移过程中?

我们的应用程序是建立在mongodb副本集之上的。我想捕获副本集处于自动故障转移过程中的时间范围内抛出的所有异常。我将使应用程序重试或等待故障转移完成。这样故障转移就不会影响用户。我在这里找到了描述Java驱动程序行为的文档:https://jira.mongodb.org/browse/DOCS-581我编写了一个测试程序来查找所有可能的异常,它们都是MongoException但具有不同的消息:MongoException.Network:“对服务器/10.11.0.121:27017的读取操作在数据库测试中失败”MongoException:“找不到主人”MongoExcepti

MongoDB副本集没有primary,需要强制新建primary

我们有一个包含3个节点的mongoDB副本集;小学中学仲裁者不知何故,我们的副本集最终将1和2都设置为次要成员。我不确定这是怎么发生的(我们有一个服务器迁移,其中一个节点在上面运行,但只有一个)。无论如何,我一直在尝试按照指南here为副本集重新选择一个新的主节点。我不能只使用rs.reconfig(cfg)因为它只有在针对主要(我没有)时才有效。使用力参数rs.reconfig(cfg,{force:true})似乎可以工作,但是当我重新查询副本集的状态时,两台服务器仍然只显示为辅助服务器。为什么强制重新配置没有起作用?目前无论我尝试什么,数据库都被锁定。

mongodb - Spring Data Mongodb - 独立 mongo 和 replicaset 的单一配置

我开始使用一个mongo实例作为我的数据库,在springxml中配置:最近,我更改了配置以使用3节点副本集,配置为:一切正常。我目前的问题是,对于我的开发环境,我想使用单一的localhostmongo配置,对于int和prod环境,我想使用副本集配置。我将通过属性文件处理不同的值。问题是关于mongo配置本身。下面这个例子中的一些东西是理想的......我遇到了这个例子:spring-booturiCanBeCustomizedunitTest有没有办法在spring配置中做到这一点?我正在使用spring-data-mongodb-1.7.0.RELEASE。

mongodb - 锁定在 mongodb 副本集之外

我有一个包含3个成员的mongodb副本集(版本2.4),其中“admin”数据库的管理员用户没有“userAdminAnyDatabase”角色。需要此角色来管理所有数据库上的用户。我目前拥有的角色是:["readWriteAnyDatabase","dbAdminAnyDatabase","clusterAdmin"]我尝试为自己更新角色或创建新用户,但我无权访问管理数据库中的db.system.users。我尝试设置noauth=true但这没有帮助。同样删除keyFile时,数据库无法与其他成员同步(很明显)并陷入恢复状态。我找到了一个similarquestion它指的是一个

mongodb - 如何使 MongoDB `repairDatabase` 和 `compact` 命令与副本集一起工作?停机时间还可以

我们需要释放一些MongoDB空间,我们确定了100Gb以上的文档可以安全地从集合中删除。因此我们将它们从具有此设置的测试环境中删除:mongodb版本3.0.1没有分片1个节点,无副本wiredtiger引擎完成后,我们发现磁盘上的空间仍在使用中,需要回收。我们找到了thispost它帮助了我们:在同时运行之后db.runCommand({repairDatabase:1})和db.runCommand({compact:collection-name})我们释放了100Gb以上。然后我们继续生产,忘记了设置是不同的,因为我们有1个副本节点:mongodb版本3.0.1没有分片1个主

mongodb - 将 Standalone 转换为副本集,不起作用

我需要将一个独立的转换为一个副本集我正在使用以下文档:http://docs.mongodb.org/manual/tutorial/convert-standalone-to-replica-set/执行以下操作后:mongod--port27017--replSetrs0在终端中显示以下内容ThuNov1510:07:57[rsStart]tryingtocontactMY_HOST.local:27017ThuNov1510:07:57[rsStart]couldn'tconnecttoMY_HOST.local:27017:couldn'tconnecttoserverMY_H

通过js文件配置MongoDB副本集

我已经为MongoDB手动配置了一个副本集。一旦我在3个节点上启动了守护进程并且它们启动并运行后,我从我标识为“主要”的节点运行以下命令:mongo这将使我进入mongoshell使用管理员创建副本集配置:cfg={_id:'csReplicaSet',members:[{_id:0,host:'node1IpAddress:27017'},{_id:1,host:'node2IpAddress:27017'},{_id:2,host:'node3IpAddress:27017',arbiterOnly:true}]}rs.initiate(cfg)我想知道如何在mongo可以识别的J

带有副本集的 Mongodb 在 docker compose 中

我可以使用dockercompose.yml文件设置用户名、密码并创建数据库version:'3'services:mongodb:image:mongovolumes:-/home/temp/finalewd/temp:/var/lib/mongodbrestart:on-failureports:-"27017:27017"environment:MONGO_INITDB_ROOT_USERNAME:XXXXMONGO_INITDB_ROOT_PASSWORD:XXXXMONGO_INITDB_DATABASE:XXXX它会启动新的mongo容器,数据库为XXXX,配置用户名和密码

mongodb - 如何在不调用 rs.initiate() 的情况下初始化 mongodb 复制集?

我正在尝试使用replSet=1启动mongod,如下所示:$mongod--dbpath/x/y--replSet1但是我一直收到类似“您需要通过调用rs.initiate()来初始化复制集”这样的错误,然后我启动了一个mongoshell来发出rs.initiate()并且问题得到解决。但我的问题是为什么需要一个单独的mongoshell?有没有办法使用mongod选项来做到这一点? 最佳答案 简答题/tl;dr没有。稍微长一点的回答不,因为使用shell是有意义的。回答设置副本集时,通常会有多个成员。在副本集初始化之前,没有任