Centos-mongodb主从复制与副本集

本文涉及的产品
云数据库 MongoDB,通用型 2核4GB
简介: 主从复制是一个简单的数据库同步备份的集群技术,如下图:要明确的知道主服务器与从服务器,且从服务器要明确的知道主服务器的存在。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();
相关实践学习
MongoDB数据库入门
MongoDB数据库入门实验。
快速掌握 MongoDB 数据库
本课程主要讲解MongoDB数据库的基本知识,包括MongoDB数据库的安装、配置、服务的启动、数据的CRUD操作函数使用、MongoDB索引的使用(唯一索引、地理索引、过期索引、全文索引等)、MapReduce操作实现、用户管理、Java对MongoDB的操作支持(基于2.x驱动与3.x驱动的完全讲解)。 通过学习此课程,读者将具备MongoDB数据库的开发能力,并且能够使用MongoDB进行项目开发。   相关的阿里云产品:云数据库 MongoDB版 云数据库MongoDB版支持ReplicaSet和Sharding两种部署架构,具备安全审计,时间点备份等多项企业能力。在互联网、物联网、游戏、金融等领域被广泛采用。 云数据库MongoDB版(ApsaraDB for MongoDB)完全兼容MongoDB协议,基于飞天分布式系统和高可靠存储引擎,提供多节点高可用架构、弹性扩容、容灾、备份回滚、性能优化等解决方案。 产品详情: https://www.aliyun.com/product/mongodb
目录
相关文章
|
NoSQL Linux MongoDB
CentOS 7.6安装 MongoDB 5.0.2
CentOS 7.6安装 MongoDB 5.0.2
1415 0
CentOS 7.6安装 MongoDB 5.0.2
|
21天前
|
监控 NoSQL 算法
【MongoDB】 MongoDB的副本集是什么?
【4月更文挑战第1天】【MongoDB】 MongoDB的副本集是什么?
|
6月前
|
NoSQL MongoDB
MongoDB分片+副本集高可用集群的启停步骤
MongoDB分片+副本集高可用集群的启停步骤
139 0
|
2月前
|
NoSQL 应用服务中间件 Linux
CentOS7搭建MySQL+Redis+MongoDB+FastDF
CentOS7搭建MySQL+Redis+MongoDB+FastDF
138 0
|
2月前
|
NoSQL Linux MongoDB
centos7搭建MongoDB以及MongoDB复制集
centos7搭建MongoDB以及MongoDB复制集
36 0
|
3月前
|
NoSQL 安全 Linux
百度搜索:蓝易云【CentOS7安装MongoDB教程】
这些是在CentOS 7上安装MongoDB的基本步骤。根据您的需求和具体环境,可能还需要进行其他配置和调整。请确保在进行任何与网络连接和安全相关的操作之前,详细了解您的网络环境和安全需求,并采取适当的安全措施。
132 0
|
5月前
|
存储 NoSQL Ubuntu
21 MongoDB高级 - 复制(副本集)
21 MongoDB高级 - 复制(副本集)
29 1
|
6月前
|
NoSQL Linux MongoDB
百度搜索:蓝易云【如何在 RHEL 8 或者 CentOS 8 上安装 MongoDB?】
以上是在RHEL 8或CentOS 8上安装MongoDB的基本步骤。安装完成后,您可以使用MongoDB的客户端工具连接到MongoDB服务器,并开始使用它进行数据库操作。希望这些步骤能够帮助您在RHEL 8或CentOS 8上成功安装MongoDB。
64 0
|
存储 NoSQL 前端开发
MongoDB——副本集与分片
 MongoDB复制是将数据同步在多个服务器的过程。
849 0
MongoDB——副本集与分片
|
9月前
|
存储 SQL NoSQL
Centos7安装单机版MongoDB
Centos7安装单机版MongoDB
124 0