`
chakey
  • 浏览: 364387 次
  • 性别: Icon_minigender_1
  • 来自: 水星
社区版块
存档分类
最新评论

【5】Replica Set使用指南(在单机上配置)

阅读更多

 

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]查看,稍后会讲到这个。

 

分享到:
评论

相关推荐

    k8s 安装 mongodb 分片(Sharding)+ 副本集(Replica Set)

    在部署 MongoDB 分片(Sharding)和副本集(Replica Set)后,我们需要配置 MongoDB 的配置文件,以便 MongoDB 可以连接到 Kubernetes 集群并使用持久存储。 本解决方案的优点主要包括: * 高可用性:MongoDB 分片...

    MongoDB的replica set的部署,检测优化,

    MongoDB的复制集(Replica Set)是一种高可用性架构,用于确保数据的冗余和容错性。在MongoDB中,复制集是由多个具有相同数据副本的节点组成,其中一个是主节点(Primary),其余是次级节点(Secondary)。主节点...

    mongodb replica set(副本集)设置步骤

    MongoDB的副本集(Replica Set)是一种高可用性解决方案,它通过在多个节点之间复制数据来确保数据的冗余和容错性。在MongoDB中,副本集由一组 MongoDB实例组成,包括一个主节点(Primary)和多个从节点...

    mongodb replica set 配置高性能多服务器详解

    5. **添加成员**:在secondary节点上,使用`rs.slaveOk()`命令允许读操作,然后使用`rs.add()`命令加入Replica Set。 ```javascript rs.add('127.0.0.1:27018') rs.add('127.0.0.1:27019') ``` 6. **监控状态*...

    docker-mongodb-replicaset:docker-mongodb-replicaset

    该文件描述了如何在 Docker 上运行 Mongo DB Replica Set。 我们假设主机上的 Docker IP 地址是172.17.42.1 (并且在大多数情况下是正确的)。 您可以通过运行ifconfig docker0并检查 ip 地址来验证它。 我们正在...

    ansible-mongo-replicaset-role:centos7服务器上,使用ansible搭建mongo的replica set

    使用ansible搭建的一个精简版的mongo replicaset。安装的服务器centos7。 安装思路 1、通过rpm安装mongo的包,然后安装依赖的程序 2、配置mongo.service 3、配置mongo.conf,初始化的mongo是没有账号密码的,所以先...

    MongoDB添加仲裁节点报错:replica set IDs do not match的解决方法

    在高可用性设置中,MongoDB 使用副本集(Replica Sets)来实现数据冗余和故障转移。副本集中,每个成员都有一个唯一的ID,且所有成员的副本集ID应该相同,以确保它们属于同一个集合。在本文中,我们将探讨如何解决在...

    Mongodb的ReplicaSets+Sharding架构(window篇)

    在实际应用中,Replica Sets和Sharding常被结合使用,提供更高的可用性和可扩展性。每个分片都可以是一个副本集,这样既保证了分片内的高可用性,又实现了整体系统的水平扩展。当某个分片的主节点发生故障时,副本集...

    mongodb Replica Sets +Sharding高可用集群搭建

    MongoDB使用分片键(Shard Key)来决定数据应存储在哪个分片上。分片集群通常包括分片服务器、路由进程(Mongos)和配置服务器(Config Server)。路由进程负责接收客户端请求,根据分片键将请求路由到正确的分片,...

    Centos7 安装Mongo replica set做读写分离.md

    Centos7 安装Mongo replica set做读写分离.md 存放这里,让大家下载快捷一点

    mongo-cluster-sharding:使用分片和ReplicaSet设置集群MongoDB

    在大型分布式系统中,为了实现水平扩展和数据冗余,MongoDB提供了分片(Sharding)和复制集(Replica Set)的功能。本文将深入探讨如何使用这两种技术来设置MongoDB集群。 **一、MongoDB分片** 1. **分片概念**: ...

    Replicaisland_a5源码

    通过阅读源码,我们可以学习如何管理Activity的创建、暂停、恢复和销毁过程,以及如何在不同屏幕尺寸和方向上实现响应式设计。 其次,源码中包含的游戏逻辑和动画系统是Android图形编程的重要实践。Android使用...

    Linux运维-运维课程MP4频11-18-08-deployment和replicaset小结.mp4

    Linux运维-运维课程MP4频11-18-08-deployment和replicaset小结.mp4

    mongodb replica set 添加删除节点的2种方法

    MongoDB的复制集(Replica Set)是一种高可用性解决方案,它可以确保数据的冗余和在主节点故障时提供自动故障转移。复制集通常由多个成员组成,包括一个主节点(Primary)、一个或多个次级节点(Secondary)以及可选...

    mongodb_replica

    在高可用性场景下,MongoDB 提供了副本集(Replica Set)功能,用于实现数据冗余和故障转移。在本项目中,我们将使用SpringBoot集成MongoDB副本集,探讨读写操作如何自动分发到主从节点。 1. **MongoDB 副本集** -...

    Android 游戏源代码 Replicaisland(含截图)

    Android 游戏源代码 Replicaisland(含截图)Android 游戏源代码 Replicaisland(含截图)Android 游戏源代码 Replicaisland(含截图)Android 游戏源代码 Replicaisland(含截图)Android 游戏源代码 Replicaisland...

Global site tag (gtag.js) - Google Analytics