Centos-mongodb主从复制与副本集

本文涉及的产品
云数据库 MongoDB,独享型 2核8GB
推荐场景:
构建全方位客户视图
简介: 主从复制是一个简单的数据库同步备份的集群技术,如下图:要明确的知道主服务器与从服务器,且从服务器要明确的知道主服务器的存在。1、在MongoDB中在启动数据库服务时,可以用master参数来指定主服务器,如下图:bind_ip是主数据库所在服务器IP /usr/nacp/mongodb/b...

主从复制是一个简单的数据库同步备份的集群技术,如下图:要明确的知道主服务器与从服务器,且从服务器要明确的知道主服务器的存在。
1、在MongoDB中在启动数据库服务时,可以用master参数来指定主服务器,如下图:bind_ip是主数据库所在服务器IP

    /usr/nacp/mongodb/bin/mongod --dbpath /usr/nacp/mongodb/data/ --logpath /usr/nacp/mongodb/log/mongodb.log --port=27017 --fork --master

2、而用slave参数可以指定从服务器,如下图:source参数用于指定主服务器

    /usr/nacp/mongodb/bin/mongod --dbpath /usr/nacp/mongodb/data/slave8/ --logpath /usr/nacp/mongodb/log/slave8/mongodb.log --port=27018 --fork --slave --source localhost:27017

副本集:集群中有三台数据库服务器,一台活跃服务器和两台备份服务器。当活跃服务器A发生故障时,会根据权重算法从备份服 务器B和C中选出B作为新的活跃服务器,而当A恢复时当成备份服务器,继续加入到整个数据库集群中工作,这就是MongoDB的副本集。

    /usr/nacp/mongodb/bin/mongod --port 22001 --dbpath /usr/nacp/mongodb/shard1/data --logpath=/usr/nacp/mongodb/shard1/log/shard1.log --directoryperdb --maxConns 100 --logappend --replSet repl/192.168.2.235:22001 --fork
    /usr/nacp/mongodb/bin/mongod --port 22001 --dbpath /usr/nacp/mongodb/shard1/data --logpath /usr/nacp/mongodb/shard1/log/shard1.log --directoryperdb --maxConns 100 --logappend --replSet repl/192.168.2.236:22001 --fork
    /usr/nacp/mongodb/bin/mongod --port 22001 --dbpath /usr/nacp/mongodb/shard1/data --logpath /usr/nacp/mongodb/shard1/log/shard1.log --directoryperdb --maxConns 100 --logappend --replSet repl/192.1638.2.233:22001 --fork

然后就需要初始化副本集。进入到这三台数据库服务器中任何一个的admin数据库,执行如下图的操作来初始化副本集:这里没有设置这三台服务器的权重,MonggoDB推选活跃服务器的策略是随机的。

    /usr/nacp/mongodb/bin/mongo --port 22001
    use admin
    db.runCommand({"replSetInitiate":{"_id":"repl","members":[{"_id":1,"host":"192.168.2.233:22001"},{"_id":2,"host":"192.168.2.235:22001"},{"_id":3,"host":"192.168.2.236:22001"}]}});

查看副本集信息

    repl:OTHER> db._adminCommand("replSetGetStatus");

在活跃服务器shell中可以使用“rs.status()”来查看副本集的状态。

mongodb默认是从主节点读写数据的,副本节点上不允许读,需要设置副本节点可以读。

    repset:SECONDARY> db.getMongo().setSlaveOk();
目录
相关文章
|
存储 NoSQL MongoDB
MongoDB 复制(副本集)
10月更文挑战第17天
185 2
MongoDB 复制(副本集)
|
12月前
|
NoSQL 容灾 MongoDB
MongoDB主备副本集方案:两台服务器使用非对称部署的方式实现高可用与容灾备份
在资源受限的情况下,为了实现MongoDB的高可用性,本文探讨了两种在两台服务器上部署MongoDB的方案。方案一是通过主备身份轮换,即一台服务器作为主节点,另一台同时部署备节点和仲裁节点;方案二是利用`priority`设置实现自动主备切换。两者相比,方案二自动化程度更高,适合追求快速故障恢复的场景,而方案一则提供了更多的手动控制选项。文章最后对比了这两种方案与标准三节点副本集的优缺点,指出三节点方案在高可用性和数据一致性方面表现更佳。
907 5
|
存储 NoSQL Shell
MongoDB复制(副本集)总结
这篇文章是关于MongoDB副本集的总结,包括复制原理、设置副本集、案例分析等内容。
288 1
|
NoSQL MongoDB
MongoDB分片+副本集高可用集群的启停步骤
MongoDB分片+副本集高可用集群的启停步骤
524 0
|
NoSQL MongoDB 数据库
国内唯一 阿里云荣膺MongoDB“2024年度DBaaS认证合作伙伴奖”
阿里云连续第五年斩获MongoDB合作伙伴奖项,也是唯一获此殊荣的中国云厂商。一起学习MongoDB副本集的选举机制以及可能会出现的特殊情况。
国内唯一 阿里云荣膺MongoDB“2024年度DBaaS认证合作伙伴奖”
|
监控 NoSQL MongoDB
【MongoDB 专栏】MongoDB 的副本集故障转移与恢复
【5月更文挑战第11天】MongoDB的副本集是高可用性关键,提供数据冗余和自动故障转移。由主节点和从节点组成,主节点处理写操作,从节点同步数据。当主节点故障,副本集通过选举产生新主节点,确保服务不间断。故障转移涉及节点优先级和数据同步状态的考量。恢复阶段解决数据不一致,重点包括节点部署监控、数据同步策略、选举机制和备份恢复计划。网络延迟和大规模数据可能带来挑战,需优化网络、性能调优和定期演练。随着技术进步,副本集的故障转移与恢复将更高效、智能,保障数据安全,支撑业务系统的稳定运行。
640 3
【MongoDB 专栏】MongoDB 的副本集故障转移与恢复
|
NoSQL MongoDB Windows
MongoDB 读写分离——Windows MongoDB 副本集配置
MongoDB 读写分离——Windows MongoDB 副本集配置
336 0
|
NoSQL Linux MongoDB
Centos7安装MongoDB
Centos7安装MongoDB
1764 0
|
NoSQL Linux 网络安全
【专栏】在 RHEL 8 或者 CentOS 8 上顺利安装并运行MongoDB,以处理非结构化数据和扩展技术栈
【4月更文挑战第28天】本文档介绍了如何在RHEL或CentOS 8上安装MongoDB,包括环境准备(系统更新、依赖安装、硬件需求和sudo用户)、导入MongoDB GPG公钥、创建Yum仓库、安装MongoDB社区版,以及后续的基本配置和验证(启动服务、防火墙设置和连接验证)。通过这些步骤,用户可以顺利安装并运行MongoDB,以处理非结构化数据和扩展技术栈。
760 1
|
监控 NoSQL 算法
【MongoDB】 MongoDB的副本集是什么?
【4月更文挑战第1天】【MongoDB】 MongoDB的副本集是什么?