副本集

来源:互联网 发布:java面试思维算法题 编辑:程序博客网 时间:2024/04/26 13:36
副本集就是有自动故障恢复功能的主从集群

主存集群和副本集最大的区别是副本集没有固定的主节点;整个集群会选出一个主节点,当其挂掉后,又在剩下的从节点中选择其他节点为主节点,副本集总有一个活跃点和一个或多个备份节点。

例子:
启动节点1:
mongod --dbpath D:\node1 --logpath D:\logs\node1\logs.txt --logappend --port 10001 --replSet itcast/localhost:10002 --master
--dbpath: 数据存放地址
--logpath:日志存放地址
--logappend:日志的追加方式
--port:端口
--replSet:指定为副本集,itcast是副本集的名称(唯一的),一个节点可能充当多个角色;
启动节点2:
mongod --dbpath D:\node2 --logpath D:\logs\node2\logs.txt --logappend --port 10002 --replSet itcast/localhost:10001
启动节点3:
mongod --dbpath D:\node3 --logpath D:\logs\node3\logs.txt --logappend --port 10003 --replSet itcast/localhost:10001,localhost:10002

在客户端连接任意一台MongoDB服务器,初始化:
db.runCommand({
        "replSetInitiate":{
         "_id":"itcast",
         "members":[
          {
               "_id":1,
               "host":"localhost:1000",
              "priority":30
          }
          {
               "_id":2,
               "host":"localhost:10002",
              "priority":20
          }
          {
               "_id":3,
               "host":"localhost:10003",
              "priority":10
          }          
]}})
查看副本集节点和成员:
db.$cmd.findOne({ismaster:1});
副本集的非主节点的节点的主要功能是备份数据和数据恢复

以后在实际的部署环境当中,一个节点有可能充当多个节点,在主从复制里面是从节点,在副本集中是备份节点
0 0
原创粉丝点击