MongoDB 复制

1.主从复制

运行mongod --master启动主服务器

运行mongod --slave --source master_address 启动从服务器 其中master_address就是上面主节点的地址

所有从节点都从主节点复制内容,从节点是不能插入数据的。建议一个集群中不超过12个从节点。

主从复制的选项:

--only 在从节点上指定只复制特定某个数据库(默认复制所有数据库)

--slavedelay 用在从节点上,当应用主机节点的操作时增加延时(单位是秒)。

--fastsync 以主节点的数据快照为基础启动从节点。如果数据目录一开始是主节点的数据快照,从节点用这个选项启动要比做完整同步快很多。

--autoresync 如果从节点与主节点不同步了,则自动重新同步。

--oplogSize 主节点的oplog的大小。

启动从节点时可以用--source指定主节点,也可以使用shell配置这个源。

use local

db.sources.insert({"host":""localhost:27017})

2.副本集

简单地说,副本集就是有自动故障恢复功能的主从集群。主从集群和副本集最为明显的区别是副本集没有固定的“主节点”:整个集群会选举出一个“主节点”,当其不能工作时则变更到其他机节点,然而,二者看上去非常相似,副本集总会有一个活跃点和一个或多个备份节点。副本集最美妙的地方就是所有东西都是自动化的,首先,它为你做了很多管理工作,自动提升备份节点为活跃节点,以确保运转正常。

副本集配置

mongod --dbpah 数据文件夹 --port 端口 --replSet blort/morton:10002

mongod --dbpath 数据文件夹 --port 端口 --replSet blort/motton:10001

mongod --dbpath 数据文件夹 --port 端口 --repSet blort/morton:10001,motton:10002

其中--replSet作用是让服务器知晓在这个blort副本集中还有别的同伴.

在shell中初始化副本集

启动了服务器后还得初始化副本集

mongo morton:10001/admin

db.runCommand({"replSetInitiate":{

"_id":"blort",//指定副本集名称

"members":[//副本集服务器列表,之后还能添加,每个服务器文档至少有2个键

{

"_id":1,//每个服务器唯一的ID

"host":"morton:10001"//服务器主机

},

{

"_id":2,

"host":"morton:10002"

}

]

}})

 

有关故障切换和活跃节点选取将在后面博文中讲述。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值