首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在将共享群集从3.2升级到3.4时,读取多数错误的关注级别

在将共享群集从3.2升级到3.4时,读取多数错误的关注级别
EN

Database Administration用户
提问于 2017-03-02 10:16:58
回答 1查看 4.6K关注 0票数 2

我已经将具有两个副本集的MongodDB切分集群从3.2升级到3.4。当前的存储引擎是MMAPv1。在成功地将所有辅助服务器、主服务器、配置服务器和mongos升级到3.4之后,当我使用以下命令运行配置服务器时。

代码语言:javascript
复制
sudo mongod --configsvr

我一直在跟踪错误。

碎片注册表的分片碎片登记重装定期重新加载失败: 115无法从配置服务器获得更新的碎片列表,因为当前存储引擎不支持大多数readConcerns;将在30秒后重试

而且,我也无法连接mongos与配置服务器。当我尝试使用以下命令连接它时

代码语言:javascript
复制
sudo mongos --configdb [ip-of-my-config-server]:27019

它给了我以下的错误。

BadValue: configdb只支持副本集连接字符串

我认为mongos无法连接到配置服务器,因为配置服务器上的大多数readConcerns错误。

MongoDB手册说:“当从复制集配置服务器读取时,MongoDB 3.4使用”多数“的读取关注级别。”

和使用阅读关注级别“多数”,必须使用WiredTiger作为存储引擎。

因此,我似乎必须切换到WiredTiger存储引擎来使它工作。但是,当我要切换到第二个副本集成员的WiredTiger存储引擎时,根据手册

"此过程完全删除辅助副本集成员的数据。

所以我半途而废。情况是

  1. 配置服务器给出了关于大多数readConcerns的错误。
  2. 我必须转到WiredTiger去摆脱它。
  3. 切换到WiredTiger将从辅助成员中删除数据。
  4. 由于配置服务器错误,在切换到WiredTiger过程期间,数据将不会被复制回辅助成员,最终我将丢失所有数据(如果我错了,请更正)。

问题如下:

  1. 我可以让MongoDB 3.4在从复制集配置服务器读取时使用“本地”的读取关注级别吗?
  2. 如何在不丢失我的场景中的数据的情况下切换到WiredTiger引擎?
EN

回答 1

Database Administration用户

发布于 2017-04-04 14:23:48

问题似乎在于MongoDB3.4要求配置服务器是复制集(CSRS),而不是旧类型的单节点配置服务器。因此,需要将配置服务器初始化为副本集,然后使用

请检查这里

票数 0
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/165944

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档