您的位置:首页 > 数据库 > Mongodb

mongodb--副本集

2016-08-12 20:44 99 查看

副本集概念

【副本集】 => 【 双机热备 】, 当一台主服务器挂掉了,那么从属服务器会顶上主服务器,可用性高

主从的缺点

虽然说可以做到 “分散压力”,那么说如果主的挂掉了,从的也就复制不了了,相当于处于半瘫痪的状态

集群

集群的意思就是同时在多台主机上用一个软件共同进行操作

特点:高可用(起码3台,有仲裁服务器)、高性能读写(读写分离)、自动化灾备(一主多从,主挂掉了,从被仲裁自动推上去当新的主)

实践一下 “副本集” 的搭建

目标,一主一从一仲裁

分别开启三个mongodb实例

mongod --dbpath D:\DBA\Mongodb\data1\ -logpath D:\DBA\Mongodb\log\monog27018.log  --replSet rs0 --port 27017  // 复制集的名称要一样,复制集就相当于一个容器

mongod --dbpath D:\DBA\Mongodb\data2\ -logpath D:\DBA\Mongodb\log\monog27019.log  --replSet rs0 --port 27018

mongod --dbpath D:\DBA\Mongodb\data3\ -logpath D:\DBA\Mongodb\log\monog27020.log  --replSet rs0 --port 27019

 谁最先初始化,谁就是主服务器

//初始化命令
rs.initate();
//查看集群状态
rs.conf()
rs.status();

将从服务器加入集群

//用IP地址的添加方式
rs.add("hostname:端口号");
//用主机名的添加方式
rs.add("spike-pc:27018")

添加仲裁服务器

//添加裁判
rs.addArb("spike-pc:27019");

在此连接主节点,查看命令

shopex:PRIMARY> rs.status()
{
"set" : "shopex",
"date" : ISODate("2015-12-20T15:03:57Z"),
"myState" : 1,
"members" : [
{
"_id" : 1,
"name" : "127.0.0.1:27017",
"health" : 1,
"state" : 1,
"stateStr" : "PRIMARY",
"uptime" : 1272,
"optime" : Timestamp(1450623782, 1),
"optimeDate" : ISODate("2015-12-20T15:03:02Z"),
"self" : true
},
{
"_id" : 2,
"name" : "127.0.0.1:27018",
"health" : 1,
"state" : 2,
"stateStr" : "SECONDARY",
"uptime" : 332,
"optime" : Timestamp(1450623782, 1),
"optimeDate" : ISODate("2015-12-20T15:03:02Z"),
"lastHeartbeat" : ISODate("2015-12-20T15:03:56Z"),
"lastHeartbeatRecv" : ISODate("2015-12-20T15:03:56Z"),
"pingMs" : 0,
"syncingTo" : "127.0.0.1:27017"
},
{
"_id" : 3,
"name" : "127.0.0.1:27019",
"health" : 1,
"state" : 7,
"stateStr" : "ARBITER",
"uptime" : 55,
"lastHeartbeat" : ISODate("2015-12-20T15:03:56Z"),
"lastHeartbeatRecv" : ISODate("2015-12-20T15:03:55Z"),
"pingMs" : 0
}
],
"ok" : 1
}

连接从节点,查看命令

需要使用下面的命令后,从节点才能使用其他命令

rs.slaveOk()
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: