将独立转换为副本集,无法正常工作

时间:2012-11-15 20:52:54

标签: mongodb

我需要将独立转换为副本集

我正在使用以下文档:

http://docs.mongodb.org/manual/tutorial/convert-standalone-to-replica-set/

执行以下操作后:

mongod --port 27017 --replSet rs0 
终端中的

显示以下内容

Thu Nov 15 10:07:57 [rsStart] trying to contact MY_HOST.local:27017 
Thu Nov 15 10:07:57 [rsStart] couldn't connect to MY_HOST.local:27017: 
couldn't connect to server MY_HOST.local:27017 
Thu Nov 15 10:07:57 [rsStart] replSet can't get local.system.replset 
config from self or any seed (yet) 

在mongo shell中,rs.initiate()和rs.status()的命令结果如下:

> rs.initiate() 

{ 
        "startupStatus" : 4, 
        "info" : "rs0", 
        "errmsg" : "all members and seeds must be reachable to initiate set", 
        "ok" : 0 
} 
>  rs.status() 

{ 
        "startupStatus" : 4, 
        "errmsg" : "can't currently get local.system.replset config from self 
or any seed (EMPTYUNREACHABLE)", 
        "ok" : 0 
} 

我需要帮助并告诉我,我做错了或我错过了

感谢您的关注

2 个答案:

答案 0 :(得分:4)

看起来你的mongod已经认为它是复制品的一部分。如果运行“rs.status()”,您可能会看到多个主机。此外,mongod认为它拥有的主机名需要可以解析回自身。不要在replicaset配置中使用“localhost”作为主机名。

答案 1 :(得分:-1)

看到这是你能做的,我在独立电脑上做了同样的事情

1.创建将存储数据的3目录  例如 - c:/ data / rep1,c:/ data / rep2,c:/ data / rep3

2.关闭所有以前的mongodb实例

3.通过命令提示符执行以下操作(如果设置了ur路径),否则转到存在mongod的文件夹

命令提示符

/>mongod -port 27001 -dbpath -c:/data/rep1 -replSet replication

新命令提示符

/>mongod -port 27002 -dbpath -c:/data/rep2 -replSet replication

新命令提示符

/>mongod -port 27003 -dbpath -c:/data/rep3 -replSet replication

现在通过另一个命令提示符连接到任何一个mongod

/>mongo -port 27001

然后我们需要编写副本集的配置

cfg={_id:"replication",members:[{_id:1,host:"localhost:27001"},   
    {_id:2,host:"localhost:27002"},{_id:3,host:"localhost:27003"}] }

rs.initiate(cfg)

复制将开始

rs.status()