mongod有关replication 的基本配置项:
replication:
oplogSizeMB: <int> #oplog大小,单位MB,默认10240
replSetName: <string> #复制集名称,所有node都必须配置一致
secondaryIndexPrefetch: <string> #is only available with the mmapv1 storage engine.
enableMajorityReadConcern: <boolean> # New in version 3.2. default:false Enables read concern level of "majority".
初试化复制集
用mongo连接上配并已启动的mongod实例,执行复制集初始化命令:>rs.initiate();
验证复制集初试配置
> rs.conf();
{
"_id" : "rs0",
"version" : 1,
"members" : [
{
"_id" : 1,
"host" : "mongodb0.example.net:27017"
}
]
}
添加node
预先启动好mongo实例,node数必须为奇数,mongod系提供了纯仲裁节点来解决偶数数据节点问题,仲裁节点不同步数据,仅参与选举投票
>rs.add("mongodb1.example.net:3009")
>rs.add("mongodb2.example.net:3010")
检测复制集状态
>rs.status()
添加仲裁(纯投票)node
投票节点不储存数据,但是一旦其加入到复制集中,投票节点将像其他节点一样开始建立自己的数据文件和 journal
为了让其占用的空间尽可能的小,可将
journal.enabled 选项设置我为false,切勿将数据节点设置为false
smallFiles 设置为true
加入复制集:
> rs.addArb("xx.xx.xx.xx:3008")