我需要将独立转换为副本集
我正在使用以下文档:
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
}
我需要帮助并告诉我,我做错了或我错过了
感谢您的关注
答案 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()