Mongodb之副本集的使用

副本集的使用  副本集就是当主节点宕机时,从节点顶替,但是没宕机前,从节点只是做一个备份数据的功能,不能查询增加数据

建立这样两个目录结构,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