• mongodb----副本集搭建及故障自动切换


    mongodb副本集搭建

    mongodb单台服务器

    数据会有丢失的风险

    单台服务器无法做高可用

    mongodb副本集能够预防数据丢失,多台mongodb数据一致。

    mongodb副本集能够在有问题的时候自动切换。

    每台服务器的内核设置必须一样,不然可能会报错。

    mongodb配置

    systemLog:
      destination: file #日志路径
      logAppend: true #每次启动用追加的模式生成日志
      path: /data/mongodb/27017/mongodb.log
    storage:
      dbPath: /data/mongodb/27017/
    journal:
      enabled: true #数据日志,避免数据丢失
    processManagement:
      fork: true
    net:
      port: 27017
      bindIp: 127.0.0.1,172.16.1.51 #监听的ip
    replication:
      replSetName: liangqicong

    进入mongodb

    设置变量

     config = {_id:"liangqicong",members:[{ _id:0,host:"172.16.1.51:27017" },{ _id:1,host:"172.16.1.52:27017" },{ _id:2,host:"172.16.1.53:27017" }]}

    初始化副本集

    rs.initiate(config);  #需要一定时间

    rs.status()  #查看集群状态   集群只有一个primary,其他都是secondary,secondary是不允许读写的,如果非要解决,可以输入命令rs.slaveOk()。

    rs.slaveOk()  #声明slave

    rs.printSlaveReplicationInfo()  #查看slave的延时状况

    mongodb的副本集故障自动切换

    mongodb的切换是全自动的,当主挂掉之后从自然后替代上来,无需配置和干预。

    mongodb的副本集优先级

    默认的权重都是1

    rs.config()  #查看当前配置

    conf = rs.config() #将当前配置赋值给conf这个变量

    conf.members[0].priority= 10  #将配置里面的第一个数组(member0)里面的priority设置成10

    conf.members[1].priority= 5

    conf.members[2].priority= 2

    重新读取配置

    rs.reconfig(conf)

  • 相关阅读:
    SHELL脚本扩展
    Linux服务器核心参数配置
    JavaIO系统
    SHELL脚本进阶
    计算机是怎么跑起来的?
    3年,从双非到百度的学习经验总结
    桥接模式:探索JDBC底层实现
    并发编程(三):从AQS到CountDownLatch与ReentrantLock
    并发编程(四):ThreadLocal从源码分析总结到内存泄漏
    Zookeeper:分布式程序的基石
  • 原文地址:https://www.cnblogs.com/QicongLiang/p/10388057.html
Copyright © 2020-2023  润新知