第一步:
在D:\MongoDB目录建立3个目录:conf(保存配置文件夹)、data(保存数据文件夹)、log(保存日志文件夹)
第二步:
在data文件夹下分别建rs1,rs2,rs3(分别保存primary,secondary,arbiter服务器的数据)
第三步:
在conf文件夹下建立rs1.conf,rs2.conf,rs3.conf配置文件
rs1的内容:
dbpath=D:\MongoDB\data\rs1
logpath=D:\MongoDB\log\rs1.log
journal=true
port=40000
replSet=rs0
rs2的内容:
dbpath=D:\MongoDB\data\rs2
logpath=D:\MongoDB\log\rs2.log
journal=true
port=40001
replSet=rs0
rs3的内容:
dbpath=D:\MongoDB\data\rs3
logpath=D:\MongoDB\log\rs3.log
journal=true
port=40002
replSet=rs0
第四步:
以用conf的方式启动mongod服务
下面的3条命令分别在3个命令行中执行
mongod --config D:\MongoDB\conf\rs1.conf
mongod --config D:\MongoDB\conf\rs2.conf
mongod --config D:\MongoDB\conf\rs3.conf
第五步:
登录3个服务器
下面3条命令分别在3个命令行中执行
mongo --port 40000
mongo --port 40001
mongo --port 40002
第六步:
在40000端口对应的客户端上依次执行如下命令
rs.initiate()
rs.conf()
rs.add("DESKTOP-MNG19L3:40001")
rs.addArb("DESKTOP-MNG19L3:40002")
rs.status()
运行的结果如下:
> rs.initiate()
{
"info2":"no configuration specified. Using a default configuration for the set",
"me":"DESKTOP-MNG19L3:40000",
"ok":1
}
rs0:SECONDARY> rs.conf()
{
"_id":"rs0",
"version":1,
"protocolVersion":NumberLong(1),
"members":[
{
"_id":0,
"host":"DESKTOP-MNG19L3:40000",
"arbiterOnly":false,
"buildIndexes":true,
"hidden":false,
"priority":1,
"tags":{
},
"slaveDelay":NumberLong(0),
"votes":1
}
],
"settings":{
"chainingAllowed":true,
"heartbeatIntervalMillis":2000,
"heartbeatTimeoutSecs":10,
"electionTimeoutMillis":10000,
"getLastErrorModes":{
},
"getLastErrorDefaults":{
"w":1,
"wtimeout":0
},
"replicaSetId":ObjectId("593ff0ff57e4befb6527fdac")
}
}
rs0:PRIMARY> rs.add("DESKTOP-MNG19L3:40001")
{"ok":1}
rs0:PRIMARY> rs.addArb("DESKTOP-MNG19L3:40002")
{"ok":1}
rs0:PRIMARY> rs.status()
{
"set":"rs0",
"date":ISODate("2017-06-13T14:05:34.257Z"),
"myState":1,
"term":NumberLong(1),
"heartbeatIntervalMillis":NumberLong(2000),
"members":[
{
"_id":0,
"name":"DESKTOP-MNG19L3:40000",
"health":1,
"state":1,
"stateStr":"PRIMARY",
"uptime":484,
"optime":{
"ts":Timestamp(1497362727,1),
"t":NumberLong(1)
},
"optimeDate":ISODate("2017-06-13T14:05:27Z"),
"infoMessage":"could not find member to sync from",
"electionTime":Timestamp(1497362687,2),
"electionDate":ISODate("2017-06-13T14:04:47Z"),
"configVersion":3,
"self":true
},
{
"_id":1,
"name":"DESKTOP-MNG19L3:40001",
"health":1,
"state":2,
"stateStr":"SECONDARY",
"uptime":15,
"optime":{
"ts":Timestamp(1497362727,1),
"t":NumberLong(1)
},
"optimeDate":ISODate("2017-06-13T14:05:27Z"),
"lastHeartbeat":ISODate("2017-06-13T14:05:33.513Z"),
"lastHeartbeatRecv":ISODate("2017-06-13T14:05:32.541Z"),
"pingMs":NumberLong(1),
"syncingTo":"DESKTOP-MNG19L3:40000",
"configVersion":3
},
{
"_id":2,
"name":"DESKTOP-MNG19L3:40002",
"health":1,
"state":0,
"stateStr":"STARTUP",
"uptime":3,
"lastHeartbeat":ISODate("2017-06-13T14:05:32.526Z"),
"lastHeartbeatRecv":ISODate("2017-06-13T14:05:33.649Z"),
"pingMs":NumberLong(1),
"configVersion":-2
}
],
"ok":1
}
rs0:PRIMARY>
相关推荐
副本集是 MongoDB 的一种高可用性解决方案,它通过复制数据到多个节点来确保数据的冗余和故障恢复。在副本集中,有一个主节点(Primary),负责处理所有的写操作,并将更改同步到其他次要节点(Secondaries)。这样...
5. **初始化主节点**:启动MongoDB服务后,通过mongo shell连接到主节点,使用`rs.initiate()`命令初始化复制集。这会创建一个配置文档并广播到其他节点。 6. **添加从节点**:在从节点上,同样启动MongoDB服务,...
3. 分片和复制:为了提高可扩展性和高可用性,MongoDB支持分片(Sharding)和复制(Replication)。分片将数据分布在多个节点上,复制则创建数据副本,提高数据安全性。 4. 查询语言:MongoDB的查询语言(MQL)支持...
除此之外,文档中还包含了关于MongoDB的常见问题解答(FAQ),覆盖了基础、应用开发者、shell使用、并发控制、分片、复制集和副本集复制、存储、索引、诊断等方面的内容。这些FAQ为解决使用过程中的常见问题提供了...
2. **安装与配置**:学习在不同的操作系统上安装MongoDB,配置复制集或分片集群以提高可用性和扩展性。 3. **CRUD操作**:掌握基本的创建、读取、更新和删除数据的操作,如`db.collection.insert()`, `db.collection...
对于需要在Windows 32位环境下运行MongoDB的开发者和管理员来说,"mongodb-win32-i386-2.6.0"这个压缩包包含了所有必要的组件和文件,可以快速搭建起一个稳定的MongoDB环境。在安装和使用过程中,应遵循官方文档的...
对于集群的配置,可以使用“mongo” shell或者“mongodb”配置文件来设定复制集的详细参数,如节点地址、端口、选举策略等。 此外,MongoDB提供了丰富的管理工具,如“mongostat”和“mongotop”用于监控数据库性能...
2. **SpringBoot操作MongoDB**:SpringBoot简化了与MongoDB的集成,可以通过新建项目,编写测试代码,利用MongoRepository接口进行CRUD操作来快速开发应用。 3. **MongoDB命令**:熟悉MongoDB的基本操作,如添加、...
14.1.3 复制集+sharding分片架构图 14.1.4 MongoDB环境搭建步骤 14.2 遇到的问题 14.3 本章小结 第15章 Java对MongoDB的基本操作实例 15.1 Java快速入门 15.1.1 安装Java驱动程序和开发环境 ...
14.1.3 复制集+sharding分片架构图 14.1.4 MongoDB环境搭建步骤 14.2 遇到的问题 14.3 本章小结 第15章 Java对MongoDB的基本操作实例 15.1 Java快速入门 15.1.1 安装Java驱动程序和开发环境 ...
综上所述,MongoDB提供的高可用性解决方案包括单实例的快速搭建、主从复制、副本集以及分片集群。这些技术手段共同构建了MongoDB在生产环境中作为高可用NoSQL数据库解决方案的基础。在实际应用中,需要根据具体的...
首先,书中会详细介绍MongoDB的安装和配置过程,无论是Windows、Linux还是macOS平台,都有详尽的步骤指导,帮助读者快速搭建开发环境。同时,还会涉及MongoDB的命令行工具,如mongo shell的使用,以及如何通过可视化...
本压缩包文件提供了MongoDB在Linux系统上的安装包和相关配置文件,帮助用户快速搭建和管理MongoDB数据库。 首先,MongoDB在Linux上的安装通常分为以下步骤: 1. **下载MongoDB**:可以从MongoDB官方网站获取适用于...
MongoDB通过复制集(Replica Sets)机制保证数据的高可用性和灾难恢复,复制集由多个数据库实例组成,其中一个作为主节点负责处理客户端的读写请求,其他作为从节点复制主节点的数据变更。在发生故障时,复制集可以...
这个项目利用了三个核心组件:Node.js、MongoDB和Nginx,结合Docker容器化技术,来搭建一个包含MongoDB副本集的分布式系统,并通过Nginx实现负载均衡。下面将详细讲解这些知识点。 **1. Node.js** Node.js是一个...
复制集是MongoDB提供高可用性的一种方式,它包含了多个副本节点,当主节点出现问题时,副本可以自动接管。设置复制集涉及配置文件修改和初始选举过程。 十、MongoDB的分片 对于大数据处理,MongoDB支持分片...
- **搭建指南**:指导用户如何搭建一个副本集环境。 - **维护操作**:介绍了副本集中常见的维护操作及其步骤。 #### 复制参考 - **配置选项**:列出了所有与复制相关的配置项及其默认值。 - **故障排查**:提供了...