MongoDB:mongodb的主从复制(二)副本集

WBOY
发布: 2016-06-07 15:22:52
原创
1069 人浏览过

我这期接着上期的说副本集,副本集主要特点体现在两个方面: 1、副本集没有特定的主数据库 2、如果出现了宕机等故障,集群就会推选出来一个数据库作为主数据库,这就具备了自动故障恢复功能。 下面我们实际来操作下: 我们在文件夹中复制出mongodb mongodb2

我这期接着上期的说副本集,副本集主要特点体现在两个方面:
1、副本集没有特定的主数据库
2、如果出现了宕机等故障,集群就会推选出来一个数据库作为主数据库,这就具备了自动故障恢复功能。

下面我们实际来操作下:
我们在文件夹中复制出mongodb mongodb2 mongodb3 来分别作为我们即将操作的 主数据库、从数据库和仲裁数据库。
一、我们为我们即将操作的集群起个名字,就叫我的博客英文名:jessonlv.--replSet表示让服务器知道jessonlv下还有其他数据库, 这里就把F盘里面的mongodb程序打开,端口为2222。指定端口为3333是jessonlv集群下的另一个数据库服务器

mongod --dbpath=F:\mongodb\db --port 2222 --replSet jessonlv/127.0.0.1:3333
登录后复制

\


二、启动端口为3333的mongodb。

mongod --dbpath=F:\mongodb2\db --port 3333 --replSet jessonlv/127.0.0.1:2222
登录后复制
和上面是一样的,就不贴图了。
三、第三步要做的就是初始化副本集,计入到admin集合看代码:
mongo 127.0.0.1:2222/admin

db.runCommand({"replSetInitiate":{
	"_id":"jessonlv",
	"members":[
	{
	"_id":1,
	"host":"127.0.0.1:2222"
	},
	{
	"_id":2,
	"host":"127.0.0.1:3333"
	}
]}})
登录后复制
看图:
\

如上图所示显示ok ,副本集已经初始化好了,那么我们来查看一下,谁说主服务器,谁说从服务器 \
再看: \
这俩单词啥意思大家都懂吧.... 至此,主从服务已经好了,我们来搞下仲裁服务器。说明:仲裁服务器只参与投票。
指定仲裁服务器:
mongod --dbpath=F:\mongodb3\db --port 4444 --replSet jessonlv/127.0.0.1:2222
登录后复制

\
然后我进入到2222端口的admin集合,使用rs.addArb()追加。
在admin集合中使用rs.addArb()追加

mongo 127.0.0.1:2222/admin

rs.addArb("127.0.0.1:4444")
登录后复制

追加完之后,我们运行rs.status()

查看状态 \
如上图,清楚的现实出谁是主从和仲裁数据库。
相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!