MongoDB-复制集搭建

本文涉及的产品
云数据库 MongoDB,通用型 2核4GB
简介: 在安装目录下新建 data/conf/log 3个文件夹,在conf文件夹下新建 mongo.config,在mongo.config中配置如下内容:

MongoDB 复制集搭建


在安装目录下新建 data/conf/log 3个文件夹,在conf文件夹下新建 mongo.config,在mongo.config中配置如下内容:

# Where and how to store data.
storage:
  dbPath: D:\Web\MongoDB4.X\MondoDB6666\mongodb27018\data
  journal:
    enabled: true
# where to write logging data.
systemLog:
  destination: file
  logAppend: true
  path: D:\Web\MongoDB4.X\MondoDB6666\mongodb27018\log\mongod.log
# network interfaces
net:
  port: 27018
  bindIp: 127.0.0.1


在 log 文件夹下创建一个 mongod.log 文件,然后分别进行拷贝两份,我这里分别有三分,端口号分别是,27018, 27019, 27020


!> 注意修改 config 中的文件里面的 data 与 log 存放地址与端口号


注册配置 MongoDB


注册成服务:

mongod --config D:\Web\MongoDB4.X\MondoDB6666\mongodb27018\conf\mongo.config --serviceName "MongoDB27018" --serviceDisplayName "MongoDB27018" --replSet "it6666" --install
mongod --config D:\Web\MongoDB4.X\MondoDB6666\MongoDB27019\conf\mongo.config --serviceName "MongoDB27019" --serviceDisplayName "MongoDB27019" --replSet "it6666" --install
mongod --config D:\Web\MongoDB4.X\MondoDB6666\MongoDB27020\conf\mongo.config --serviceName "MongoDB27020" --serviceDisplayName "MongoDB27020" --replSet "it6666" --install

!> 注意以上的 --config 记得更换成你自己的

  • 手动启动服务
  • 测试连接


mongo --host 127.0.0.1 --port 27018


mongo --host 127.0.0.1 --port 27019


mongo --host 127.0.0.1 --port 27020


初始化复制集

!> 在三台当中的其中一台进行执行如下命令即可初始化完毕:

rs.initiate({
_id: 'it6666',
members: [
{_id: 0, host: '127.0.0.1:27018'},
{_id: 1, host: '127.0.0.1:27019'},
{_id: 2, host: '127.0.0.1:27020'}]
})


2105804-20221018000909567-1715450637.png

其它相关参数:

  • _id 整数:节点的唯一标识
  • host 字符串:节点的IP地址,包含端口号
  • arbiterOnly 布尔值:是否为投票节点,默认是false。是设置投票(选举)节点有关的参数
  • priority 整数:选举为主节点的权值,默认是1,范围0-1000
  • hidden 布尔值:是否隐藏,默认false,是设置隐藏节点有关的参数
  • votes 整数:投票数,默认为1,取值是0或1,是设置”投票“节点有关的参数
  • slaveDelay 整数:延时复制,是设置延时节点有关的参数。单位秒(s)


在主节点写入读取

只能在主节点写,因为其它节点不能写只能读默认情况下副节点是不可以读取的想要在副节点读取要开启执行 rs.slaveOk() 即可:

2105804-20221018003344823-726150035.png

相关实践学习
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 Shell
MongoDB系列-在复制集(replication)以及分片(Shard)中创建索引
在使用MongoDB时,在创建索引会涉及到在复制集(replication)以及分片(Shard)中创建,为了最大限度地减少构建索引的影响,在副本和分片中创建索引,使用滚动索引构建过程。
435 0
|
2月前
|
NoSQL Linux MongoDB
centos7搭建MongoDB以及MongoDB复制集
centos7搭建MongoDB以及MongoDB复制集
40 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-复制集同步规则
初始化同步 • 将一个新的节点加入到复制集中时, 就需要进行初始化同步 • 初始化同步会先清空自己所有的内容, 保证将来自己和主节点一模一样 • 初始化同步会将主节点中现有所有的 ‘数据库’, ‘集合’, ‘文档’, ‘索引’ 全部拷贝过来 • 但是在拷贝的过程中主节点仍然可能会做一些其它操作, 新增一些其它的数据等
56 0
|
8月前
MongoDB-复制集选举规则
选举规则 • 一旦发现主节点没有响应 / 发送心跳请求, 那么副节点就会认为主节点挂了 • 一旦发现主节点挂了, 任意一个副节点都可以发起选举 • (发起选举的节点我们称之为 候选节点, 每一个节点内部都有一个 选举计数器) • 发起选举的节点会给自己先投一票, 然后将自己的票数依次发送给其它节点
54 0
|
8月前
|
NoSQL MongoDB 数据库
MongoDB-复制集特点
MongoDB 复制集特点 !> 复制集中必须有一个主节点 • 主节点主要负责写入数据和读取 • 复制集中除了主节点以外的节点我们称之为 副节点: • 副节点默认情况下只能读取数据, 不能写入数据 • 副节点主要负责从主节点不断复制数据
35 0
|
8月前
|
存储 NoSQL 数据处理
MongoDB-复制集开篇
MongoDB 高可用性 • 如果所有用户都从同一台MongoDB服务器上读写数据, 那么如果这台MongoDB服务器宕机了, 用户就不能进行读写了 • 如果我们有多台MongoDB服务器, 并且每台服务器中存储的内容都相同,那么即使有一台服务器宕机了, 用户依然可以进行读写数据, 因为用户还可以继续使用其它保存了相同内容的服务器
45 0