mongos 无法写入副本集配置服务器 (CSRS)(无效的写入问题)

mongos can't write to replica set config server (CSRS) (invalid write concern)

我正在设置一个分片 mongodb,主要是根据 https://docs.mongodb.com/manual/tutorial/deploy-shard-cluster/。当我启动 mongos 实例时,我收到了一系列错误

getLastError command failed: w: 'majority' is the only valid write concern
when writing to config server replica sets, got: { w: 1, wtimeout: 0 }

我相信这是因为配置服务器副本集需要 {w:majority} 写关注,但出于不明原因 mongos 正在生成 {w:1} 的写操作。到处寻找,没有找到答案;我见过的最接近的是 https://jira.mongodb.org/browse/SERVER-20945 但那是我 运行 的版本所以似乎不是答案。

因为配置服务器本质上是不可写的,这会阻止创建分片等,导致整个事情无法操作。

它是 mongos v 2.6.12 和 mongo v 3.2.6。

在此先感谢您的帮助。

根据 https://jira.mongodb.org/browse/SERVER-24385,这里的问题是 mongosmongod 之间的版本差异。由于配置服务器工作方式的变化,较早的 mongos 版本不能很好地与较新的 mongod 配合使用。所以答案是,不要混合使用两者的(主要)版本。