我正在设置一个分片的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。
提前感谢您的帮助。
答案 0 :(得分:1)
根据https://jira.mongodb.org/browse/SERVER-24385,此处的问题是mongos
和mongod
之间的版本差异。由于配置服务器的工作方式发生变化,较早的mongos
版本与较新的mongod
版本不兼容。所以答案是,不要混合两者的主要版本。