Replica Set使用指南(在单机上配置)
简介:
一个Replica-Set是在一组N个mongod服务一起协作来进行后援支持。
搭建一个replica-set需要两个步骤:在每个节点上启动服务;初始化这个set。
标准模式下,1个set包含3个节点。我们现在就在同一个服务器上搭建一个。
一旦mongod服务节点都启动了,我们需要一个指令来初始化这个set。几秒钟之后,三个节点中会选择出一个
主控节点(master node),之后我们就可以向这个set中写入或者查询数据了。
步骤一:
分别为3个节点分配数据存放的位置空间
$ mkdir -p /data/r0
$ mkdir -p /data/r1
$ mkdir -p /data/r2
之后,使用 --replSet 参数启动mongod服务,这个参数需要我们指定replica-set的名称,这里我们称我们的这个set为“foo”
$ mongod --replSet foo --port 27017 --dbpath /data/r0
$ mongod --replSet foo --port 27018 --dbpath /data/r1
$ mongod --replSet foo --port 27019 --dbpath /data/r2
现在3个节点都跑起来了。这时,每个节点应该都打出如下的警告信息:
————————
Mon Aug 2 11:30:19 [startReplSets] replSet can't get local.
system.replset config from self or any seed (EMPTYCONFIG)
————————
不要紧张,这是因为我们还没有初始化这个set.
步骤二:
我们可以从任意3个节点中的一个来运行 replSetInitiate 命令来初始化这个set.
[kyle@arete ~$]$ mongo localhost:27017
MongoDB shell version: 1.6.3
connecting to: localhost:27017/test
> config = {_id: 'foo', members: [
{_id: 0, host: 'localhost:27017'},
{_id: 1, host: 'localhost:27018'},
{_id: 2, host: 'localhost:27019'}]
}
> rs.initiate(config);
{
"info" : "Config now saved locally. Should come online in about a minute.",
"ok" : 1
}
我们需要配置config这个对象,指明set的名称和这个set下的成员。然后将config传递给rs.initiate().
如果到这里一切都顺利的话,我们会得要一个信息说:这个set会在1分钟内启动完成。在这个时间段内,有一个
节点会被选择为主控节点(master节点)。
如果想查看这个set的当前状态的话,使用rs.status这个命令:
> rs.status()
{
"set" : "foo",
"date" : "Mon Aug 02 2010 11:39:08 GMT-0400 (EDT)",
"myState" : 1,
"members" : [
{
"name" : "arete.local:27017",
"self" : true,
},
{
"name" : "localhost:27019",
"health" : 1,
"uptime" : 101,
"lastHeartbeat" : "Mon Aug 02 2010 11:39:07 GMT-0400",
},
{
"name" : "localhost:27018",
"health" : 1,
"uptime" : 107,
"lastHeartbeat" : "Mon Aug 02 2010 11:39:07 GMT-0400",
}
],
"ok" : 1
}
这里有个值"myState",如果这个值为1,说明是主控节点(master);如果是 2 ,说明是从属节点(slave).
我们还可以从 Replica Set Admin UI[ http://<hostname>:28017]查看,稍后会讲到这个。
分享到:
相关推荐
该文件描述了如何在 Docker 上运行 Mongo DB Replica Set。 我们假设主机上的 Docker IP 地址是172.17.42.1 (并且在大多数情况下是正确的)。 您可以通过运行ifconfig docker0并检查 ip 地址来验证它。 我们正在...
关于mongodb的备份集的检测,优化,部署
使用ansible搭建的一个精简版的mongo replicaset。安装的服务器centos7。 安装思路 1、通过rpm安装mongo的包,然后安装依赖的程序 2、配置mongo.service 3、配置mongo.conf,初始化的mongo是没有账号密码的,所以先...
mongodb的多服务器配置,以前写过一篇文章,是master-slave模式的,master-slave模式,不能自动实现故障转移和恢复。所以推荐大家使用mongodb的replica set,来实现多服务器的高性能。
NULL 博文链接:https://tcrct.iteye.com/blog/2108099
k8s 安装 mongodb 分片(Sharding)+ 副本集(Replica Set)
主要给大家介绍了关于MongoDB添加仲裁节点报错:replica set IDs do not match的解决方法,文中通过示例代码介绍的非常详细,需要的朋友可以参考借鉴,下面随着小编来一起学习学习吧
Centos7 安装Mongo replica set做读写分离.md 存放这里,让大家下载快捷一点
mongo集群分片 使用分片和ReplicaSet设置集群MongoDB
Linux运维-运维课程MP4频11-18-08-deployment和replicaset小结.mp4
Mongodb的Replica Sets + Sharding架构(window篇)
Replicaisland_a5源码,是一个很不错的Android代码,有兴趣的伙伴们抽时间可以看一下把。
在本地运行MongoDB Atlas进行测试先决条件Java 8+ 码头工人该图显示了本地和远程docker对plicateSetNumber的支持plicateSetNumber 本地Docker主机本地Docker主机从容器内部运行测试并映射Docker套接字远程Docker守护...
NULL 博文链接:https://star45.iteye.com/blog/2039957
请注意,此示例使用的JSON定义未将TCP 2181绑定到主机,因此,例如,如果您要使用此集成或发送4个字母的命令,则必须查看将其重新映射到哪个端口。 玩完之后,您可以简单地破坏/ mongodb / rs0应用程序。支持
Android 游戏源代码 Replicaisland(含截图)Android 游戏源代码 Replicaisland(含截图)Android 游戏源代码 Replicaisland(含截图)Android 游戏源代码 Replicaisland(含截图)Android 游戏源代码 Replicaisland...
replica set多服务器主从,添加,删除节点,肯定会经常遇到的。下面详细说明一下,添加,删除节点的2种方法。