在Linux中为MongoDB创建副本集

在Linux中为MongoDB创建副本集,linux,mongodb,mongodb-query,database-replication,replicaset,Linux,Mongodb,Mongodb Query,Database Replication,Replicaset,当我运行以下命令时:rs.initiate() 我得到以下错误: "info2" : "no configuration explicitly specified -- making one", "me" : "ip-10-0-2-113:27017", "ok" : 0, "errmsg" : "No host described in new configuration 1 for replica set s-1-rs maps to this

当我运行以下命令时:
rs.initiate()

我得到以下错误:

"info2" : "no configuration explicitly specified -- making one",
        "me" : "ip-10-0-2-113:27017",
        "ok" : 0,
        "errmsg" : "No host described in new configuration 1 for replica set s-1-rs maps to this node",
        "code" : 93
我只是在本地主机上运行。我遵循以下指南:

我只是跳过了他们命名复制集的部分

在任何情况下,如何创建副本集?我做错了什么


感谢您提供在本地启动mongo复制的整个过程。将来可能会有帮助

为三个mongod进程创建三个目录。在unix上,可以按如下方式执行此操作:

mkdir -p /data/rs1 /data/rs2 /data/rs3
现在开始三个mongo实例,如下所示。请注意,有三个命令

mongod --replSet s1 --logpath "1.log" --dbpath /data/rs1 --port 27017 --smallfiles --oplogSize 64 --fork

mongod --replSet s1 --logpath "2.log" --dbpath /data/rs2 --port 27018 --smallfiles --oplogSize 64 --fork

mongod --replSet s1 --logpath "3.log" --dbpath /data/rs3 --port 27019 --smallfiles --oplogSize 64 --fork
正在创建s1的副本集

现在连接到mongo shell

mongo --port 27017
现在您将创建副本集。在mongo shell中键入以下命令:

config = { _id: "s1", members:[
          { _id : 0, host : "localhost:27017"},
          { _id : 1, host : "localhost:27018"},
          { _id : 2, host : "localhost:27019"} ]
};
rs.initiate(config);
这样就启动了复制集。您可以通过以下方式检查复制状态:

rs.status()
属于你。
rs.status()