mongodb的副本集可以很方便的做到数据实时同步到所有主机。比mysql使用更加方便。
副本集至少需要2台主机,一台为主(primary),一台为从(slave),如果多台主机,则一台为主,其他都是从。当主服务器发生故障时,从服务器会探测到并共同选举出一个新的主服务器,从而保证服务不间断,当然为了程序也要相应配合,如mongodb配置多个服务器。
注意:2台服务器时,如果主服务器故障,剩下从服务器也无法提升为主服务器,而是不再提供写入服务。如果从服务器故障,主服务器自动变为从服务器,也无法提供写入服务。所以2台主机时只是为了数据冗余而设置的。
设置方法:
1、2台服务器配置文件完全相同:
vim mongod.conf
systemLog:
destination: file
logAppend: true
path: /web/mongodb/mongod.log
storage:
dbPath: /web/mongodb/data
journal:
enabled: true
net:
port: 27017
bindIp: 0.0.0.0
security:
keyFile: "/web/mongodb/mongodb.key"
clusterAuthMode: "keyFile"
authorization: enabled
processManagement:
fork: true
replication:
oplogSizeMB: 2048
replSetName: rs
注意:使用认证登录需要进行用户权限设置,见:https://canlynet.iteye.com/blog/2436380
2、这里使用了认证登录,所以,还需要创建认证文件mongodb.key:
openssl rand -base64 666 > /web/mongodb/mongodb.key
将这个key文件复制到所有从主机上。
3、添加节点:
rs.initiate({_id: 'rs', members: [
{_id: 0, host: '192.168.1.8:27017'},
{_id: 1, host: '192.168.1.9:27017'}
]});
如果还需要添加: rs.add('192.168.1.10:27017'), _id会自动增加1.
4、查看状态: rs.status()
修改优先级,需要在Mongodb的Primary端执行:
config=rs.conf()
config.members[0].priority = 100;
config.members[1].priority = 1;
rs.reconfig(config)
如果当前primary不是第0个成员,那么停掉primary即可将第0个成员设置为primary。
相关推荐
MongoDB 的副本集(Replica Set)就是有自动故障恢复功能的 MongoDB 主从集群。由于 MongoDB 的主从复制功能不支持高可用,所以从 3.2 版本开始已经被废弃了,转而用副本集来代替实现数据复制的功能。一个副本集总会...
MongoDB 副本集搭建需要经过多个步骤,包括安装环境准备、搭建 MongoDB 副本集、配置集群信息、添加认证等步骤。只有通过这些步骤,才能搭建起一个高可用性的 MongoDB 副本集,满足实际生产环境中的需求。
在这里,我们需要登录到一台服务器的 MongoDB,并定义副本集配置变量。 use admin cfg={ _id:"repset", members:[ {_id:0, host:'10.2.193.35:27017', priority:4}, {_id:1, host:'10.2.193.36:27017', priority:...
这个命令会创建一个新的副本集配置,其中包括了两个成员,每个成员的`_id`是唯一的,`host`字段指定了成员所在的主机和端口。在本例中,我们有两个成员,分别在`localhost:10001`和`localhost:10002`。 初始化完成...
MongoDB中的副本集(Replica Set)是一组维护相同数据集的mongod服务。 副本集可提供冗余和高可用性,是所有生产部署的基础。也可以说,副本集类似于有自动故障恢复功能的主从集群。通俗的讲就是用多台机器进行同一...
在部署 MongoDB 分片(Sharding)和副本集(Replica Set)后,我们需要配置 MongoDB 的配置文件,以便 MongoDB 可以连接到 Kubernetes 集群并使用持久存储。 本解决方案的优点主要包括: * 高可用性:MongoDB 分片...
### MongoDB 主从复制,副本集分布式存储 #### 一、MongoDB 主从复制与副本集的概念 MongoDB 是一种非常流行的非关系型数据库系统,它采用面向文档的数据模型,能够高效地处理大量的非结构化数据。为了提高系统的...
查看副本集配置 可以使用`rs.conf()`命令查看副本集的配置信息: ```javascript rs.conf() ``` ##### 3. 查看副本集状态 使用`rs.status()`命令查看副本集的状态信息: ```javascript rs.status() ``` #### 四、...
在 MongoDB 中,启动副本集涉及到配置多个服务器实例,彼此保持数据同步。在给定的题目中,选项 D 描述了启动副本集的正确命令:`mongod --dbpath='XXX' --port 2222 --replSet bitc/127.0.0.1:3333`。这里的 `--...
MongoDB是一种流行的NoSQL数据库,它支持高性能、高可用性和易扩展的数据存储。副本集是MongoDB中的一种机制,旨在提供数据...通过上述步骤,可以成功配置和部署一个MongoDB副本集,并为数据库设置适当的权限管理机制。
配置MongoDB副本集涉及以下几个步骤: 1. **启动实例**:首先,需要启动至少三个MongoDB实例,每个实例都有不同的端口号和数据目录。 2. **初始化副本集**:在其中一个实例上执行`rs.initiate()`命令,指定副本集的...
cz老师的任务罢了。win10环境配置mongodb副本集,1主1仆1只狗
副本集集群的搭建步骤包括成员的初始化、配置副本集的配置文件、启动副本集成员服务、加入副本集以及副本集功能扩展。副本集工作机制包括主从复制机制和选举机制等。分片功能是MongoDB用于实现大数据量自动分片,...
该步骤是根据mongodb3.6.2版本配置,从安装到认证模式到测试副本集,步骤清楚详细,有疑问评论 给你们一一解答
通过以上步骤,你可以在Windows环境中成功部署一个MongoDB副本集,实现数据的高可用性和容错性。在实际生产环境中,还需要考虑网络架构、负载均衡、备份策略等多方面因素,以构建更健壮的数据库系统。
**副本集配置:** 副本集允许数据在多个节点之间同步,当主节点失败时,可以自动切换到其他可用的节点。在上述配置中,每个分片的副本集都包含了三个数据节点和一个仲裁节点,通过`--replSet`参数指定副本集名称,如...
Mongodb3.0.5 副本集搭建及spring和java连接副本集配置详细介绍 一、基本环境: mongdb3.0.5数据库 spring-data-MongoDB-1.7.2.jar mongo-Java-driver-3.0.2.jar Linux-redhat6.3 tomcat7 二、搭建mongodb副本集:...
该安装包是基于 MongoDB 4.2 版本,在 Linux 下以二进制方式安装 MongoDB 副本集模式(1 主 2 从,也可以自己调整安装单副本模式)。安装包内包含所需二进制文件、配置文件、备份脚本以及详细安装步骤,支持离线安装...