mongodb复制集设置步骤
执行以下步骤之前,先在防火墙中放开指定IP的27017端口TCP连接。
mongodb复制集设置步骤
假设有2个节点,分别是:192.168.3.190:27017 和 192.168.3.192:27017
1、在各个节点的 config 文件中,设置复制集配置信息。
绑定各自对外IP (推荐用内网IP,如使用公网IP,需同时指定密码)
在主节点:
net: port: 27017 bindIp: 127.0.0.1,192.168.3.190 unixDomainSocket: enabled: true filePermissions: 0766 #operationProfiling 复制集配置信息: replication: replSetName: rsmdb
在从节点:
net: port: 27017 bindIp: 127.0.0.1,192.168.3.192 unixDomainSocket: enabled: true filePermissions: 0766 #operationProfiling 复制集配置信息: replication: replSetName: rsmdb
oplogSizeMB 默认值为硬盘空间的 5%,在较大硬盘中,可设置 oplogSizeMB 值,以指定占用上限。
#operationProfiling 复制集配置信息: replication: replSetName: rsmdb oplogSizeMB: 100000
2、在主节点上执行命令,添加复制集信息
在主从均已启动的情况下执行命令,输入:
mongo
然后执行:
rs.initiate({ _id: 'rsmdb', members: [ {_id: 0, host: '192.168.3.190:27017'}, {_id: 1, host: '192.168.3.192:27017'}] })
查看当前复制集信息:
rs.status()
后期添加新的节点,在主节点 mongo 执行:
rs.add("192.168.3.192:27017")
3、开启从库可读
在从库 mongo 执行:
rs.secondaryOk()
------其它常用操作------
删除指定节点
在主库执行:
rs.remove("IP:Port")
降级当前主库为从库
在主库执行:
rs.stepDown()
短时间内降级
单位s,在主库执行:
rs.stepDown(30)
在主节点下线无法操作时,把从节点提升为主节点
需要重新设置节点列表,从members中删除主节点。
查看节点序号,原主节点是否为_id 0
rs.conf()
删除_id 0后,强制更新节点配置
c = rs.conf() c.members.splice(0,1) rs.reconfig(c,{"force":true})