我有一个ec2实例,mongo运行完美 . 我创建了ec2实例的快照并启动了一个新实例 . 在新实例上,问题是mongoDB数据库被破坏,因为配置不再有效 . 如何使用辅助副本集创建主要副本或以任何方式我可以解决此问题?以下是命令和输出:

[ec2-user@ip-10-0-2-224 ~]$ mongo
MongoDB shell version: 3.0.12
\connecting to: test
Server has startup warnings: 
2018-02-04T23:01:26.503+0000 I CONTROL  [initandlisten] 
2018-02-04T23:01:26.503+0000 I CONTROL  [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/defrag is 'always'.
2018-02-04T23:01:26.503+0000 I CONTROL  [initandlisten] **        We suggest setting it to 'never'
2018-02-04T23:01:26.503+0000 I CONTROL  [initandlisten] 
> rs.isMaster()
{
    "ismaster" : false,
    "secondary" : false,
    "info" : "Does not have a valid replica set config",
    "isreplicaset" : true,
    "maxBsonObjectSize" : 16777216,
    "maxMessageSizeBytes" : 48000000,
    "maxWriteBatchSize" : 1000,
    "localTime" : ISODate("2018-02-04T23:14:04.473Z"),
    "maxWireVersion" : 3,
    "minWireVersion" : 0,
    "ok" : 1
}
> rs.conf()
{
    "_id" : "s-1",
    "version" : 1,
    "members" : [
        {
            "_id" : 0,
            "host" : "ip-10-0-2-105:27017",
            "arbiterOnly" : false,
            "buildIndexes" : true,
            "hidden" : false,
            "priority" : 1,
            "tags" : {

            },
            "slaveDelay" : 0,
            "votes" : 1
        }
    ],
    "settings" : {
        "chainingAllowed" : true,
        "heartbeatTimeoutSecs" : 10,
        "getLastErrorModes" : {

        },
        "getLastErrorDefaults" : {
            "w" : 1,
            "wtimeout" : 0
        }
    }
}

> show dbs
2018-02-04T23:05:37.032+0000 E QUERY    Error: listDatabases failed:{ "note" : "from execCommand", "ok" : 0, "errmsg" : "not master" }
    at Error (<anonymous>)
    at Mongo.getDBs (src/mongo/shell/mongo.js:47:15)
    at shellHelper.show (src/mongo/shell/utils.js:630:33)
    at shellHelper (src/mongo/shell/utils.js:524:36)
    at (shellhelp2):1:1 at src/mongo/shell/mongo.js:47
> rs.initiate()
{
    "info2" : "no configuration explicitly specified -- making one",
    "me" : "ip-10-0-2-224:27017",
    "info" : "try querying local.system.replset to see current configuration",
    "ok" : 0,
    "errmsg" : "already initialized",
    "code" : 23
}
> rs.status()
{
    "state" : 10,
    "stateStr" : "REMOVED",
    "uptime" : 2009,
    "optime" : Timestamp(1517350533, 1),
    "optimeDate" : ISODate("2018-01-30T22:15:33Z"),
    "ok" : 0,
    "errmsg" : "Our replica set config is invalid or we are not a member of it",
    "code" : 93
}
>

唯一成员的主机地址实际上是我用于创建实例的服务器的主机地址 . 如果我发出“rs.slaveOk()”,它可以正常配置为辅助 .