MongoDB副本集



副本集是一组,由N个mongo节点组成并协同工作的,提供自动的故障集群转移。
建立一个副本集需要步骤,1、需要启动每个节点,2、然后进行初始化设置。在这里,我们将配置一组(三个节点),这是标准设置。
一旦mongod节点启动,我们将发出一个命令,以正确地初始化设置。几秒钟后,将选举产生一个主节点,你就可以开始写和查询集。

启动节点
首先为每个节点创建数据目录
mkdir -p /data/r0 /data/r1 /data/r2
启动每个mongod节点,“--replset”参数需要指定一个副本集逻辑名称,我们使用“test”。
启动第一个节点,端口10000
./mongod --dbpath /data/r0 --logpath /data/r0/mg.log --port 10000 --replSet test --fork
启动第二个节点,端口10001
./mongod --dbpath /data/r1 --logpath /data/r1/mg.log --port 10001 --replSet test --fork
最后启动第三个节点,端口10002
./mongod --dbpath /data/r2 --logpath /data/r2/mg.log --port 10002 --replSet test --fork
注:--fork为创建守护进程,--logpath与--fork必须并存
在所有节点启动后,我们还不能使用这个副本集,因为还差最后一步:在shell中初始化副本集。

初始化节点
我们连接到其中一个节点上,并使用replSetInitiate命令进行初始化。此命令需要一个配置对象,指定设定的每个成员的名字。

> mongo 127.0 . 0.1 : 10000 / admin
> config = { _id : "test" , members :[
... { _id : 0 , host : '127.0.0.1:10000' },
... { _id : 1 , host : '127.0.0.1:10001' },
... { _id : 2 , host : '127.0.0.1:10002' }]
... }
> rs . initiate ( config );
{
    "info" : "Config now saved locally.  Should come online in about a minute." ,
    "ok" : 1
}
我们指定的配置对象,然后把它传递给rs.initiate()。如果一切正常,我们得到的回应说,副本集将在一分钟内在线。在此期间,其中一个节点将当选为主节点。

运行
>rs.status()
检查节点状态。

复制
现在我们来测试一下,向主节点中写点东西。
db.message.save({name:”ReplSet Test”});
这时候你去看看辅节点上的日志,你将会看到内容被复制了
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值