MongoDB:将配置服务器升级到副本集时出现连接字符串错误

时间:2016-12-13 08:56:39

标签: mongodb

我按照these说明将Mongo配置服务器升级到副本集。一切似乎最初都有效,但是当连接到public function imageUpload(Request $request) { if ( 0 < $_FILES['file']['error'] ) { echo 'Error: ' . $_FILES['file']['error'] . '<br>'; } else { move_uploaded_file($_FILES['file']['tmp_name'], 'uploads/' . $_FILES['file']['name']); } } 并运行Mongos时,我收到以下错误消息和堆栈。

重要性:&#34; 检测到从镜像(SCCC)配置服务器升级到副本集(CSRS)配置服务器。给出了setShardVersion:csReplSet / mongodb-config-1:27019用于配置服务器连接字符串,但已存储:mongodb-config-1:27019,mongodb-config-2:27019,mongodb-config-3:27019

这会导致sh.status和其中一个PRIMARY配置服务器崩溃。我检查了所有SECONDARY都有正确的连接字符串,并且所有mongosmongod都运行相同版本的MongoDB(3.2.11)。我也尝试从头开始配置服务器(以丢失数据为代价),但无济于事。

有什么想法吗?

mongos

1 个答案:

答案 0 :(得分:1)

问题是仍然有一些mongos实例使用旧的(镜像)连接字符串。似乎即使是mongos个实例也没有继续ping配置服务器,导致错误和致命崩溃。执行use config; db.mongos.find()以查找所有mongos个实例,并确保它们都使用更新后的连接字符串,无异常。