我按照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
都有正确的连接字符串,并且所有mongos
和mongod
都运行相同版本的MongoDB(3.2.11)。我也尝试从头开始配置服务器(以丢失数据为代价),但无济于事。
有什么想法吗?
mongos
答案 0 :(得分:1)
问题是仍然有一些mongos
实例使用旧的(镜像)连接字符串。似乎即使是mongos
个实例也没有继续ping配置服务器,导致错误和致命崩溃。执行use config; db.mongos.find()
以查找所有mongos
个实例,并确保它们都使用更新后的连接字符串,无异常。