Mongodb之副本集的使用
其他
2019-03-13 00:55:52
阅读次数: 0
副本集的使用 副本集就是当主节点宕机时,从节点顶替,但是没宕机前,从节点只是做一个备份数据的功能,不能查询增加数据
建立这样两个目录结构,dbs放数据logs放日志信息
然后启动三个窗口执行下面三段命令开启三个mongodb,进行副本集的配置 --replSet后面填的是副本集的名称,可以随便填的但是三个命令里的副本集名称得保持一致. 第三个命令里依赖前两个节点,如果再加节点的话,就依次加就可以了.
mongod --dbpath D:\mongodb\dbs\node1 --logpath D:\mongodb\logs\node1\logs.txt --logappend --port 10001 --replSet itcast/localhost:10002 --master
mongod --dbpath D:\mongodb\dbs\node2 --logpath D:\mongodb\logs\node2\logs.txt --logappend --port 10002 --replSet itcast/localhost:10001
mongod --dbpath D:\mongodb\dbs\node3 --logpath D:\mongodb\logs\node3\logs.txt --logappend --port 10003 --replSet itcast/localhost:10001,localhost:10002
然后登录上主节点的admin数据库执行以下命令 priority这个是优先级,优先级最高的为主节点,主节点宕机后就选优先级高的为主节点.
db.runCommand({"replSetInitiate":{"_id":"itcast","members":[{"_id":1,"host":"localhost:10001","priority":3},{"_id":2,"host":"localhost:10002","priority":2},{"_id":3,"host":"localhost:10003","priority":1}]}});
db.$cmd.findOne({ismaster:1}) 可以查克当前节点的一些详细信息.
然后在主节点插入数据
登上从节点发现不能查因为它不是主节点
现在把10001的主节点服务器关掉,再10002上进行查询,发现它成主节点了,并且也可以操作数据了
转载自blog.csdn.net/kxj19980524/article/details/88135016