MongoDB搭建Replica Set复制集

本文涉及的产品
云数据库 MongoDB,通用型 2核4GB
简介:

 1、在MongoDB的同级安装目录下创建数据目录,目录结构如下:


       /data/rs0
       /data/rs1

       /data/rs2


  2、使用命令行启动mongod的三个实例,打开三个命令行窗口,分别输入命令如下:


mongod --port 10000 --dbpath E:/field/replset/data/rs0 --replSet rscx --smallfiles --oplogSize 128
mongod --port 10001 --dbpath E:/field/replset/data/rs1 --replSet rscx --smallfiles --oplogSize 128
mongod --port 10002 --dbpath E:/field/replset/data/rs2 --replSet rscx --smallfiles --oplogSize 128

wKiom1M2tpqy9DbeAAYahPjQ9ew005.jpg


  执行完上面的命令后,MongoDB的实例服务已经启动了,我们可以在刚刚创建数据目录下,看到MongoDB自动生成的一些数据配置文件。但同时我们也会发现命令行上会不停的打出“replSet can't get local.system.replset config from self or any seed”,这是因为集合loccal.system.replset还没有任何配置信息,我们还需要在命令行执行rs.initiate来进行初始化。


  打开一个命令行窗口,我们连接到第一个实例。


mongo --port 10000


  在命令行继续输入mongodb replicate sets的配置信息,然后执行rs.initiate( rsconf )初始化配置信息。


rsconf = {
          _id: "rs0",
          members: [
                     {
                      _id: 0,
                      host: "<hostname>:27017"
                     }
                   ]
        }
rs.initiate( rsconf )


  在这一步,如果读者不小心,在执行rs.initialte方法时,忘记了加参数,可以通过rs.reconfig(rsconf)来重新初始化配置文件


  接下来,运行rs.conf()命令,我们能够看到会显示如下所示的复制集信息。


rscx:PRIMARY> rs.conf()
{
       "_id" : "rscx",
       "version" : 2,
       "members" : [
               {
                       "_id" : 0,
                       "host" : "favpc:10000"
               }
       ]
}

  接下来,继续运行下面的命令,将另外两个配置集加到复制集中。


rs.add("favpc":10001)
rs.add("favpc":10002)


wKioL1M2tozh9hZJAAKM-JqJL88177.jpg


  至此,Replica Sets复制集就搭建成功了。我们也可以看到mongodb复制集的命令行窗口不再打印replSet can't get local.system.replset config from self or any seed“,取而代之的是打印的复制集的连接信息。当我们在主节点更新数据时,从节点也会自动更新数据。





本文转自 genuinecx 51CTO博客,原文链接:http://blog.51cto.com/favccxx/1386691,如需转载请自行联系原作者
相关实践学习
MongoDB数据库入门
MongoDB数据库入门实验。
快速掌握 MongoDB 数据库
本课程主要讲解MongoDB数据库的基本知识,包括MongoDB数据库的安装、配置、服务的启动、数据的CRUD操作函数使用、MongoDB索引的使用(唯一索引、地理索引、过期索引、全文索引等)、MapReduce操作实现、用户管理、Java对MongoDB的操作支持(基于2.x驱动与3.x驱动的完全讲解)。 通过学习此课程,读者将具备MongoDB数据库的开发能力,并且能够使用MongoDB进行项目开发。 &nbsp; 相关的阿里云产品:云数据库 MongoDB版 云数据库MongoDB版支持ReplicaSet和Sharding两种部署架构,具备安全审计,时间点备份等多项企业能力。在互联网、物联网、游戏、金融等领域被广泛采用。 云数据库MongoDB版(ApsaraDB for MongoDB)完全兼容MongoDB协议,基于飞天分布式系统和高可靠存储引擎,提供多节点高可用架构、弹性扩容、容灾、备份回滚、性能优化等解决方案。 产品详情: https://www.aliyun.com/product/mongodb
目录
相关文章
|
8月前
|
NoSQL MongoDB
MongoDB-复制集搭建
在安装目录下新建 data/conf/log 3个文件夹,在conf文件夹下新建 mongo.config,在mongo.config中配置如下内容:
59 0
|
存储 NoSQL Linux
玩转MongoDB—搭建MongoDB集群
如题,本次玩转MongoDB我们从搭建集群开始,话说MongoDB一共有三种搭建集群的方式,但是由于版本更新,据说在4.0版本之后第一种方式,也就是主从复制的方式被遗弃掉了,大概是因为这种方式的效率不高吧,因为目前我们使用的是5.x版本,因此就不花时间讲解第一种方式了,在其他的文章上摘录了一下,可供大家参考。重点还是要放在后两种。
577 0
玩转MongoDB—搭建MongoDB集群
|
2月前
|
NoSQL Linux MongoDB
centos7搭建MongoDB以及MongoDB复制集
centos7搭建MongoDB以及MongoDB复制集
36 0
|
8月前
|
数据库
MongoDB-复制集投票节点
?> 投票节点就是不保存任何数据, 只参与投票的节点
49 0
|
5月前
|
监控 NoSQL MongoDB
轻松掌握组件启动之MongoDB(番外篇):高可用复制集架构环境搭建-mtools
mtools是一个基于Python实现的MongoDB工具集,旨在提供一系列功能,包括MongoDB日志分析、报表生成以及简易的数据库安装等。它由MongoDB原生的工程师单独发起并进行开源维护。mtools包含了一些常用的组件,如mlaunch、mlogfilter、mplotqueries和mlogvis等,可以帮助我们更方便地启动和创建MongoDB数据库。
|
5月前
|
监控 NoSQL 安全
轻松掌握组件启动之MongoDB(下):高可用复制集架构环境搭建
本章介绍了MongoDB复制集的配置和使用方法,如何初始化和添加节点到复制集,验证主节点的写入和从节点的读取功能。了解如何查询复制集的状态,包括成员的健康状况、同步信息和角色等。最后,我们介绍了如何配置复制集的安全认证,包括创建用户和生成keyFile文件,并演示了使用认证信息连接复制集的方式。通过本章的学习,你将掌握MongoDB复制集的基本使用和配置方法。
|
5月前
|
存储 NoSQL 容灾
轻松掌握组件启动之MongoDB(上):高可用复制集架构环境搭建
本文介绍了MongoDB复制集的架构和特点,强调了使用复制集提供数据的高可用性和冗余性的重要性。复制集由Primary节点和Secondary节点组成,确保数据一致性。复制集还具有数据分发、读写分离和异地容灾等附加功能。使用MongoDB复制集可以提供稳定可靠的数据存储和高可用性。
轻松掌握组件启动之MongoDB(上):高可用复制集架构环境搭建
|
8月前
|
数据库 索引
MongoDB-复制集同步规则
初始化同步 • 将一个新的节点加入到复制集中时, 就需要进行初始化同步 • 初始化同步会先清空自己所有的内容, 保证将来自己和主节点一模一样 • 初始化同步会将主节点中现有所有的 ‘数据库’, ‘集合’, ‘文档’, ‘索引’ 全部拷贝过来 • 但是在拷贝的过程中主节点仍然可能会做一些其它操作, 新增一些其它的数据等
54 0
|
8月前
MongoDB-复制集选举规则
选举规则 • 一旦发现主节点没有响应 / 发送心跳请求, 那么副节点就会认为主节点挂了 • 一旦发现主节点挂了, 任意一个副节点都可以发起选举 • (发起选举的节点我们称之为 候选节点, 每一个节点内部都有一个 选举计数器) • 发起选举的节点会给自己先投一票, 然后将自己的票数依次发送给其它节点
54 0
|
8月前
|
NoSQL MongoDB 数据库
MongoDB-复制集特点
MongoDB 复制集特点 !> 复制集中必须有一个主节点 • 主节点主要负责写入数据和读取 • 复制集中除了主节点以外的节点我们称之为 副节点: • 副节点默认情况下只能读取数据, 不能写入数据 • 副节点主要负责从主节点不断复制数据
35 0