Replica set安装部署
- 三台机器,分别安装mongodb。
- 使用keyfile,做为多个mongo实例间的鉴权。
- 三台机器的分别放置replSetKey文件。并将文件所有者改为mongod。
chmod 400 /home/replSetKey
chown mongod:mongod /home/replSetKey
- 三台机器。修改/etc/mongod.conf配置文件。然后分别启动。
- securite下,添加子项:"keyFile: /home/replSetKey"
- replication下,添加子项:"replSetName: mongoSet"
- 任选一节数据节点,登录mongo。初始化复制集。
use admin;
config = {
_id: "mongoSet",
members: [
{
_id: 0,
host: "192.168.118.189:27017",
priority: 2
},
{
_id: 1,
host: "192.168.118.182:27017",
priority: 1
}
]
};
rs.initiate(config);
- 等待,选举完成。添加arbiter节点。
cfg = rs.conf()
cfg.members[2]={
"_id" : 2,
"host" : "192.168.118.183:27017",
"priority" : 0,
arbiterOnly:true
}
rs.reconfig(cfg, {force : true})
mongo复制集调整成员
# 获取配置对象
cfg = rs.conf()
# 添加成员,注意_id值、members数组下标,与当前已存在的节点不能一样(如果是添加arbiter,需要加一个属性:arbiterOnly:true)
cfg.members[1]={
"_id" : 0,
"host" : "192.168.10.77:27017",
"priority" : 1
}
# 应用修改后的配置
rs.reconfig(cfg, {force : true})