美文网首页
Mongodb学习笔记 (八) 之 replication复制集

Mongodb学习笔记 (八) 之 replication复制集

作者: 我的小鱼干去哪儿了 | 来源:发表于2019-01-15 23:54 被阅读0次

    Relication Set 复制集

    replicattion set 多台服务器维护相同的数据副本,提高服务器的可用性.


    image.png

    Replication set 设置全过程

    0.创建目录

    mkdir -p /data/r0 /data/r1 /data/r2
    

    1.启动3个实例,且声明实例属于某复制集

    ./bin/mongod --port 27017 --dbpath /data/r0 --smallfiles --replSet rsa --fork --logpath /var/log/mongo17.log
    ./bin/mongod --port 27018 --dbpath /data/r1 --smallfiles --replSet rsa --fork --logpath /var/log/mongo18.log
    ./bin/mongod --port 27019 --dbpath /data/r2 --smallfiles --replSet rsa --fork --logpath /var/log/mongo19.log
    

    2.配置

    rsconf = {
        _id:'rsa',
        members:
        [
            {_id:0,
            host:'192.168.1.201:27017'
            },
           {_id:1,
            host:'192.168.1.201:27018'
            },
           {_id:1,
            host:'192.168.1.201:27019'
            }
        ]
    }
    

    3. 根据配置做初始化

    rs.initiate(rsconf);
    

    4. 添加节点

    rs.add('192.168.1.201:27018');
    rs.add('192.168.1.201:27019');
    

    5. 查看状态

    rs.status();
    

    6. 删除节点

    rs.remove('192.168.1.201:27019');
    

    7. 主节点插入数据

    >use test
    >db.user.insert({uid:1,name:'lily'});
    

    8. 连接secondary查询同步情况

    ./bin/mongo --port 27019
    >use test
    >show tables
    
    rsa:SECONDARY> show tables;
    Sat Aug 17 16:03:55.786 JavaScript execution failed: error: { "$err" : "not master and slaveOk=false", "code" : 13435 } 
    

    8.1 出现上述错误,是因为slave默认不许读写

    >rs.slaveOk();
    >show tables
    

    看到与primary 一致的数据

    相关文章

      网友评论

          本文标题:Mongodb学习笔记 (八) 之 replication复制集

          本文链接:https://www.haomeiwen.com/subject/uozudqtx.html