IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    [原]mongodb error creating initial database config information 问题处理

    mchdba发表于 2016-06-25 00:59:36
    love 0



    开发同事说应用里面mongodb写入报错,自己进服务器查看,报错信息如下:
    [mongodb@azure_d1_dbm1_3_11 ~]$ /usr/local/mongodb-linux-x86_64-3.0.3/bin/mongo localhost:30000/admin
    MongoDB shell version: 3.0.3
    connecting to: localhost:30000/admin
    mongos> 
    mongos> db.foo_test.insert({x:1});
    2016-06-22T17:26:17.427+0800 E QUERY    Error: Error: error: {
    "$err" : "error creating initial database config information :: caused by :: can't find a shard to put new db on",
    "code" : 10185
    }
        at Error (<anonymous>)
        at DBCollection.insert (src/mongo/shell/collection.js:260:23)
        at (shell):1:13 at src/mongo/shell/collection.js:260
    mongos> 




    查看集群状态
    [mongodb@azure_d1_dbm1_3_11 ~]$ /usr/local/mongodb-linux-x86_64-3.0.3/bin/mongo localhost:30000/admin
    MongoDB shell version: 3.0.3
    connecting to: localhost:30000/admin
    mongos> db.runCommand({listshards : 1 });
    { "shards" : [ ], "ok" : 1 }
    mongos> 


    看到这里发现集群里面没有成员,所以尝试手动添加成员试试:
    mongos> 
    mongos> db.runCommand( { addshard : "shard1/10.249.3.11:27017,10.249.3.12:27017,10.249.3.11:27037"});
    {
    "ok" : 0,
    "errmsg" : "mongos specified a different config database string : stored : 10.249.3.12:20000,10.249.3.11:20000,10.249.3.11:20003 vs given : 10.249.3.12:20000,10.249.3.11:20000,10.249.3.11:20002"
    }
    mongos> 


    看到添加失败,添加的配置和原来的config配置不符合,只能说明是在部署后,config混乱了或者部署失败了。所以最快的解决方案就是:
    (1)先导出所有数据
    (2)重新启动,搭建mongodb shareding
    (3)然后再导入备份好的数据


沪ICP备19023445号-2号
友情链接