mongodb中的集群配置

mongodb中的集群配置,无法通过mongod.conf中配置,只能在mogo通过命令配置,下面介绍下在mogo中的定义的config.

基本语法:config={….} ,也就是说config是一个json的数组。请注意哪些配置是必须的、非必须、建议使用、不建议使用。

_id:副本集的名称,该值必需和mongod.conf配置文件中的 replication.replSetName 一致,或者在mongod启动命令中的–replSet保持一致。[必须的]

version:复制集的版本。[非必须]

configsvr:分片集群服务的复制集,需要设置为true,否则设置为false。默认为false,3.2版本默认为true,3.4版本才默认为false 。这里坑了我两天。

protocolVersion:协议版本,3.2后默认为1,[非必须,采用默认值即可]

writeConcernMajorityJournalDefault:3.4的新功能设置,等同于writeConcern中设置的{ w: “majority” } ,需要注意的是,如果protocolVersion=1,默认为true,protocolVersion=0,默认为false

members:成员。是一个json的数组

members[n]._id:_id是一个从0-255的整型数。在更新副本集节点配置时,将用到这个_id,也是节点的唯一标识。[必须]

members[n].host:可以是host或者IP:port,默认端口27017 [必须]

members[n].arbiterOnly:默认false,仲裁节点,也可以使用方法rs.addArb() 直接添加。[非必须]

members[n].buildIndexes:默认true,节点是否创建索引。这个建议设置为true,采用默认设置即可。如果该值设置为false,那需要注意同时该节点的值priority也需要设置为0,否则投票将无法创建索引的节点,升级为premary节点,客户端的情况将会出错。

members[n].hidden:设置为隐藏节点。客户端的情况不会到达隐藏节点,不管readPrefence如何设置。一般情况下,隐藏节点做为备份节点,延迟节点也属于隐藏节点。[非必须]

members[n].priority:选举premary的权重,默认值是1,值可以从1-1000,改值只是一个相对值。如果像让某一个节点无法成为主节点,该值设置为0

members[n].tags:

members[n].slaveDelay:设置延迟节点,改值的单位是秒。默认是0

members[n].votes:默认值1,单个节点的最大投票数。副本集的最大节点数是50,但最多只有7个投票节点,除这7个之外,其他的投票数应该为0.

settings :设置,也是一个json的数组。

settings.chainingAllowed:默认为true,表示副本集允许secondary节点从另一个secondary节点复制数据。设置为false,表示只能从主节点复制数据。数据一致性要求较高,请设置为false,设置为false无疑会增加主节点的性能开销,请慎重。

settings.heartbeatTimeoutSecs:节点间的心跳延迟时间。默认10s,超过10s后,将认为该节点失效。

settings.electionTimeoutMillis:默认10000(10s),一旦主节点宕机,多长时间选举出新的主节点。值太大故障转移的时间较长,值太小造成系统压力。

settings.heartbeatIntervalMillis:节点间的心跳时间,默认2s

配置实例:

config={_id:”wanda”,configsvr:false,members:[{_id:1,host:”192.168.80.121:27017″,priority:10},{_id:2,host:”192.168.80.122:27017″,priority:5},{_id:3,host:”192.168.80.123:27017″,priority:0}]}

rs.initiate(config)

rs.add({_id:2,host:”192.168.80.122:27017″,priority:5})

mongodb中的集群配置》上有1条评论

  1. Pingback引用通告: mongodb中复制集的命令 | 精彩每一天

发表评论

电子邮件地址不会被公开。 必填项已用*标注

您可以使用这些HTML标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>