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中的副本集(Replica Set)是一组维护相同数据集的mongod服务。 副本集可提供冗余和高可用性,是所有生产部署的基础。也可以说,副本集类似于有自动故障恢复功能的主从集群。通俗的讲就是用多台机器进行同一...
mongodb设置副本集,linux下的配置
MongoDB集群负载均衡资料(mongodb副本集) 附带:部署文档,使用文档,问题解决文档 技术:mongodb、副本集配置 附带所有安装包; 有需要的朋友看看,对自己学习工作都很有帮助
该步骤是根据mongodb3.6.2版本配置,从安装到认证模式到测试副本集,步骤清楚详细,有疑问评论 给你们一一解答
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副本集配置SAP BUILD应用程序。 BUILD基于MEAN堆栈,因此整个堆栈通过具有中央数据存储区的Docker容器公开,用于管理所有MongoDB节点之间的日志和数据。 参考: : BUILD概述 BUILD是一...
mongodb4.22分片及副本集搭建
该文档详细讲述了对三个服务器的mongodb进行副本集与分片的部署。并给出测试方案和架构图。
Centos6下针对MongoDB集群副本(一主一备+仲裁)环境完整部署记录(个人精华版),有需求的朋友,请拿走.
副本集可以使在节点发生故障时还能提供对您的数据的访问。 安装MongoDB 1.确保在副本集的每个成员设置好hostname nano /etc/hostname /etc/hostname: europa 2.创建一个文件以保存MongoDB存储库的配置信息: sudo...
使用Terraform生成MongoDB副本集设置 描述 当传递变量配置时,应该能够生成要设置的terraform代码的库。 联网 VPC 互联网网关 子网路 资源 EC2实例 ELB卷 安全组 MongoDB的 在EC2实例上安装软件-例如Docker 将...
MongoDB 安装包 ,包含了单服务器的副本集(Replication)配置(单服务器:Windows)
Passo a passo Crie os arquivos .conf符合示例key-file com或... 表示根目录的副本集: rs . initiate ( )use admindb . createUser ( { user : "user-admin" , pwd : "admin-pass" , roles : [ { role : "root" ,
mongodb安装包和配置文件! mongodb安装包和配置文件!
介绍设置MongoDB副本集是一个复杂的过程,需要进行许多配置。 使用mongodb-runrs,您现在可以调用单个命令以在不到60秒的时间内设置N成员副本集。 可以设计副本集,使其不会干扰您可能拥有的任何现有mongod进程。...
MongoDB的复制功能很重要,尤其是现在的存储引擎还不支持单击持久性。不仅可以用复制来应对故障切换,数据集成,还可以做读扩展,热备份或作为离线批处理的数据源。 1.主从复制 主从复制是MongoDB最常用的复制方式。...