0
点赞
收藏
分享

微信扫一扫

#yyds干货盘点# mongodb副本集搭建

10.12.7.3

10.12.7.4

10.12.7.5

三个做副本集

1. 什么是副本集

副本集就是mongoDB副本所组成的一个集群。

同期原理是,写操作发生在主库,从库同步主库的OpLog日志。

#yyds干货盘点# mongodb副本集搭建_html

集群中没有特定的主库,主库是选举产生,如果主库down了,会再选举出一台主库。

#yyds干货盘点# mongodb副本集搭建_副本集_02

mongoDB也可以配置成主从模式,但,官方已经不建议使用主从模式了,替代方案是采用副本集的模式。

副本集有以下特点:

1. 最小构成是:primary,secondary,arbiter,一般部署是:primary,2 secondary。

2. 成员数应该为奇数,如果为偶数的情况下添加arbiter,arbiter不保存数据,只投票。

  1. 最大50 members,但是只能有 7 voting members,其他是non-voting members。


2. 安装配置

从官网下载编译好的安装包到/opt/mongodb-linux-x86_64-2.6.3-bin.tar.gz

 解压到三台服务器 并重命名为mongodb,目录为/opt/mongodb

相同的命令分别启动三个mongoDB服务,指定副本集的名字为bwlistCluster

也可以在配置文件中指定,然后启动

# vi /etc/mongod.conf
replication:
replSetName:
rs0

启动命令

./bin/mongod -f /etc/mongod.conf 
/opt/mongodb/bin/mongod --port 27017 --journal --fork --dbpath /opt/mongodb/data/r0 --logpath /opt/mongodb/log/mongodb-00.log --oplogSize 128 --replSet bwlistCluster

2.配置副本集

 在任意一台上连接 mongodb

#
/opt/mongodb/bin/mongo
> use admin

#定义副本集配置变量,这里的 _id:” bwlistCluster” 和上面命令参数“ –replSet bwlistCluster” 要保持一样。

config = {
_id:" bwlistCluster", members:[
...
{_id:0,host:" 10.12.7.3:27017"},
...
{_id:1,host:" 10.12.7.4:27017"},
...
{_id:2,host:" 10.12.7.5:27017"}]
... }

#输出{
"_id"
: "repset",
"members"
: [
{
"_id"
: 0,
"host"
: "10.12.7.3:27017"
},
{
"_id"
: 1,
"host"
: "10.12.7.4:27017"
},
{
"_id"
: 2,
"host"
: "10.12.7.5:27017"
}
]
}

 #初始化副本集配置

rs.initiate(config);
#输出成功
{
"info"
: "Config now saved locally. Should come online in about a
minute.",
"ok"
: 1
}

#查看集群节点的状态

rs.status();

#输出

bwlistCluster:SECONDARY> rs.status()
{
"set" :
"bwlistCluster",
"date" :
ISODate("2017-11-14T07:06:11Z"),
"myState" : 2,
"syncingTo" :
"10.12.7.4:27017",
"members" : [
{

"_id" : 1,

"name" : "10.12.7.4:27017",

"health" : 1,

"state" : 1,

"stateStr" : "PRIMARY",

"uptime" : 435068,

"optime" : Timestamp(1510643169, 40),

"optimeDate" : ISODate("2017-11-14T07:06:09Z"),

"lastHeartbeat" : ISODate("2017-11-14T07:06:09Z"),

"lastHeartbeatRecv" :
ISODate("2017-11-14T07:06:10Z"),

"pingMs" : 0,

"electionTime" : Timestamp(1510208079, 1),
"electionDate"
: ISODate("2017-11-09T06:14:39Z")
},
{

"_id" : 2,

"name" : "10.12.7.5:27017",

"health" : 1,

"state" : 7,

"stateStr" : "ARBITER",

"uptime" : 435068,

"lastHeartbeat" : ISODate("2017-11-14T07:06:11Z"),

"lastHeartbeatRecv" :
ISODate("2017-11-14T07:06:09Z"),
"pingMs" : 0
},
{

"_id" : 3,

"name" : "10.12.7.3:27017",

"health" : 1,

"state" : 2,
"stateStr"
: "SECONDARY",

"uptime" : 435084,

"optime" : Timestamp(1510643171, 32),

"optimeDate" : ISODate("2017-11-14T07:06:11Z"),

"self" : true
}
],
"ok" : 1
}

参考文档:

​​https://www.cnblogs.com/ee900222/p/mongodb_2.html​​

​​http://www.lanceyan.com/tech/mongodb/mongodb_repset1.html​​

​​https://www.cnblogs.com/xusir/archive/2012/12/24/2830957.html​​

举报

相关推荐

0 条评论