美文网首页Python爱好者
MongoDb 设置复制集

MongoDb 设置复制集

作者: 远飞的大雁2010 | 来源:发表于2017-04-02 21:28 被阅读53次

    复制集概念

    Mongodb复制集由一组Mongod实例(进程)组成,包含一个Primary节点和多个Secondary节点,Mongodb Driver(客户端)的所有数据都写入Primary 节点,Secondary 节点从 Primary 节点同步写入的数据,以保持复制集内所有成员存储相同的数据集,提供数据的高可用。

    Primary 节点配置

    配置 Primary 节点其实不复杂,配置服务的时候要加上--replSet setname参数,其中setname是复制集的名字,同一个组复制集应拥有相同的名字。然后再登录服务器,并运行以下命令:

    rs.initiate()
    

    Secondary 节点配置

    配置 Secondary 节点也不复杂,配置服务器的时候也加上--replSet setname参数,其中setname要与主节点的名字保持一致。服务器启动以后,需要登录刚 Primary 节点,并运行以下命令:

    rs.add('host:port')
    

    ** 注意:** 如果主服务器和从服务器部署在同一台机器上,那个这里的 host 的 ip 是不允许和主服务器的 ip 相同。主服务器的地址为 127.0.0.1 ,那么从服务器的地址使用 其实际 ip 地址就行了。

    从 Secondary 节点读取数据

    上面步骤完成后,一个复制集就配置好了,两边应该可以同步数据了。但 Secondary 节点是不允许读取数据。如果想要在 Secondary 节点读取数据,可以登录 Secondary 节点,并运行如下命令:

    rs.slaveOk()
    

    结语

    通过上面的步骤,一个 MongoDb 复制集就配置好了。Primary 节点可以读写数据 ,Secondary 节点只能读取数据。需要注意的是,Secondary 节点的数据是从 Primary 节点的数据更新过来的,更新数据需要一定的时间。新写入的数据最好不要通过Secondary 节点读取。

    相关文章

      网友评论

        本文标题:MongoDb 设置复制集

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