美文网首页
mongodb的部署配置

mongodb的部署配置

作者: epiiplus1equal0 | 来源:发表于2019-05-28 01:08 被阅读0次

    [TOC]

    1. mongod启动时常用选项

    --fork={true|false}: mongod是否在后台运行

    --bind_ip=IP: 指定监听地址, 不启动时默认监听本机所有地址

    --port=PORT: 指定监听端口

    --maxConns=NUM: 并发最大连接数

    --logpath arg: 日志路径

    --logappend: 日志滚动, 添加而不是覆盖

    --pidfilepath arg

    --keyFile arg: 实现集群关系认证时的私钥文件位置

    --setParameter arg

    --httpinterface: enable http interface

    --repair: 突发情况中断数据库, 可用此选项修复

    --journal: 激活事务日志 (单实例必须开启)

    --journalCommitInterval arg: 提交日志间隔

    调试选项 (消耗资源, 除非必要否则不开启):

    --cpu

    --slowms arg (=100): 慢查询

    --profile arg: 性能剖析, 0=off, 1=slow (仅剖析慢查询), 2=all (剖析所有查询操作)

    2. mongodb的复制

    两种类型的复制:

    ​ master/slave

    ​ replica set: 副本集 (自动故障转移)

    ​ 服务于同一个数据集的多个mongodb实例, 主节点将数据修改操作保存至oplog中

    ​ arbiter: 仲裁节点

    ​ 工作特性:

    ​ (1) 至少三个, 且应该为奇数个, 可使用arbiter来参与选举

    ​ (2) heartbeat (2s), 自动失效转移(通过选举方式)

    ​ 复制集中的特殊节点分类:

    ​ (1) 0优先级的节点: 冷备节点, 不会被选举成为主节点, 但可参与选举

    ​ (2) 被隐藏的从节点: 首先是个0优先级的节点, 且对客户端不可见, 但依然可以参与选举

    ​ (3) 延迟复制的从节点: 首先是个0优先级的节点, 且复制时间落后于主节点一个固定时长, 但依然可以参与选举

    ​ (4) aribter

    mongodb的复制架构: oplog和heartbeat

    ​ oplog:实现复制过程的基础工具, 大小固定的文件存储在local数据库中, 大小为oplog所在文件系统的5%, 最小1G

    ​ 初始同步 (initial sync)

    ​ 回滚后追赶 (post-rollback catch-up)

    ​ 切分块块迁移 (sharing chunk migrations)

    ​ heartbeat: 心跳信息传递并触发选举

    ​ local: 存放副本集的所有元数据和oplog, 自己不参与复制过程, 用于存储oplog的是一个名为oplog.rs的collection, oplog.rs在加入副本集后第一次启动时被自动创建, 大小依赖于OS和文件系统, 启动服务是可自定义大小, --oplogSize arg 单位MB

    ​ mongodb的数据同步类型:

    ​ 1.初始同步:

    ​ 两种情形下会被触发:

    ​ 从节点没有任何数据, 但主节点已在运行

    ​ 节点丢失副本复制历史

    ​ 初始同步的步骤:

    ​ (1) 克隆所有数据库的所有collection

    ​ (2) 应用数据的所有改变: 复制oplog并应用在本地

    ​ (3) 为所有collection构建索引

    ​ 2.复制

    vi /etc/mongod.conf
    replSet=testSet
    replIndexPrefetch=_id_only
    
    service mongod start
    mongo
    >rs.help()
    >rs.status()
    >rs.initiate([cfg])
    >rs.add("{hostname|ip}:port") # 注意字符串用引号引起来
    >rs.isMaster()
    >rs.slaveOk() # 开启此命令后从节点才可读数据
    >rs.conf()
    

    相关文章

      网友评论

          本文标题:mongodb的部署配置

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