我在mongo分片设置中犯了一个错误 - 我的配置数据库字符串出错了.我试图通过删除配置数据库服务器中的所有数据并重新启动所有mongod服务来清除它.但是,即使重启mongos后我仍然会遇到这样的错误,
当我跑:
sh.status():
Run Code Online (Sandbox Code Playgroud)
我明白了:
mongos specified a different config database string : stored : <old string here>
Run Code Online (Sandbox Code Playgroud)
这个字符串实际存储在哪里?我尝试在配置数据库本身以及碎片的成员中查找它,但我似乎无法找到它.
与MongoDB 2.4一样,--configsvr为mongos服务器指定的字符串也缓存在分片mongod服务器上的内存中.为了使mongos服务器加入分片集群,它们必须具有相同的配置字符串(包括主机名的顺序).
MongoDB手册中有一个教程,用于迁移具有不同主机名的配置服务器,其中包括完整过程,包括将配置服务器迁移到新主机(在您的情况下不适用).
如果在重新启动所有内容后仍然看到"不同的配置数据库字符串"错误,则可能是您在此过程中至少有一个流氓mongod或mongos正在运行.
要解决此错误:
mongod进程(对于分片)mongos进程mongod进程(对于分片)mongos用正确的--configsvr字符串重启| 归档时间: |
|
| 查看次数: |
2826 次 |
| 最近记录: |