我正在尝试在localhost
上设置至少一个副本的情况下启动MongoDB集群。为简单起见,未分片的群集很好。我正在关注此文档Deploy a Replica Set for Testing and Development
此文档让我有些困惑。有没有简单简单的方法?
这里,我使用1 PRIMARY node
和2 SECONDARY nodes
(副本)创建一个mongo集群(未分片)。 PRIMARY节点在默认端口27017上运行,其他2个副本节点在端口27018和27019上运行。
首先,为所有3个实例创建一个数据库路径。对我而言,其/data/db/27017
用于PRIMARY,/data/db/27018
和/data/db/27019
用于副本。确保您必须对这些目录具有写权限。
现在执行以下步骤...
1- start 3 mongo instances
./mongod --port 27017 --dbpath /data/db/27017 --replSet rs0 &
./mongod --port 27018 --dbpath /data/db/27018 --replSet rs0 &
./mongod --port 27019 --dbpath /data/db/27019 --replSet rs0 &
2- login to mongo cli with PRIMARY port and initiate replicas
./mongo 127.0.0.1:27017/test //cli
rs.initiate() // replica set init
rs.conf() // replica set config
rs.status() // replica set status
rs.add("localhost:27018") //Add members to Replica Set
rs.add("localhost:27019") //Add members to Replica Set
3- check cluster info
db.isMaster()
rs.slaveOk() // to perform cli commands on replica