在滴滴云上搭建 MongoDB 集群 (一)

本文介绍了如何在滴滴云上使用 Replica Sets 搭建 MongoDB 集群,包括副本集的介绍、搭建过程以及验证效果。通过模拟集群,详细阐述了从创建配置文件、启动服务到初始化副本集、添加成员,直至主从切换和数据一致性验证的整个流程。
摘要由CSDN通过智能技术生成

1、准备工作

之前已经介绍过了 MongoDB 在滴滴云上的搭建。参考:<<在滴滴云 DC2 云服务器上搭建 MongoDB 实战>>

但是生产环境中,通常需要更高的稳定性要求,单机版的 MongoDB 服务器并不能满足,因此我们需要高可用的 MongoDB 集群。

硬件准备

本次只是模拟集群的搭建。因此直接采用上一次的搭建环境,通过不同的端口模拟集群。

2、简介

MongoDB 的集群搭建方式主要有三种方式:Master-Slave,Replica Sets,Sharding。

其中 Master-Slave 官方已不再支持,故本文不再介绍。 本文主要介绍 Replica Sets 方式搭建高可用集群。

2.1 Replica Sets

2.1.1 介绍

副本集是一组维护相同数据集的 Mongod 实例。副本集包含多个数据承载节点和一个仲裁节点(可选),在数据承载节点中,一个且只有一个成员被视为主节点,而其他节点则被视为辅助节点。

主节点接收所有写入操作,一个副本集只能有一个主实例能够写入,主节点记录所有变更到它的 oplog。

在这里插入图片描述
辅助节点复制主节点的 oplog 并将操作应用于数据集。

在这里插入图片描述

也可以将一个额外的实例作为仲裁者添加到副本集。仲裁员不维护数据集,仲裁器的目的是通过响应其他副本集成员的心跳和选择请求来维护副本集中的仲裁。因为它们不存储数据集,所以仲裁器是提供副本集仲裁功能的一种好方法。

与具有数据集的完全功能副本集成员相比,仲裁器的资源成本更低,如果副本集的成员数为偶数,则添加一个仲裁器以在初选中获得多数票。

在这里插入图片描述
当一个主服务器在超过配置的周期(默认为 10 秒)内未与该组的其他成员通信时,符合条件的辅助服务器将要求选择将其自身指定为新的主服务器。集群试图完成新的初选并恢复正常操作。

在这里插入图片描述

2.1.2 搭建过程

登录之前搭建单机服务的机器,并切换到 root 账户:

ssh dc2-user@ip
sudo -i

创建配置文件:

vi /etc/mongod_27017.conf

文件内容如下:

# mongod_27017.conf

# for documentation of all options, see:
#   http://docs.mongodb.org/manual/reference/configuration-options/

# where to write logging data.
systemLog:
  destination: file
  logAppend: true
  # log的路径与上边创建的路径一一致
  path: /data/log/mongodb/mongod_27017.log

# Where and how to store data.
storage:
	# db储存的路径与上边创建的路径一一致
  dbPath: /data/db/mongo_27017
  journal:
    enabled: true
#  engine:
#  mmapv1:
#  wiredTiger:

# how the process runs
processManagement:
  fork: true  # fork and run in background
  pidFilePath: /var/run/mongodb/mongod_27017.pid  # location of pidfile
  timeZoneInfo: /usr/share/zoneinfo

# network interfaces
net:
  port: 27017
  bindIp: 127.0.0.1  # Enter 0.0.0.0,:: to bind to all IPv4 and IPv6 addresses or, alternatively, use the net.bindIpAll setting.


#security:

#operationProfiling:

replication:
   oplogSizeMB: 1024
   replSetName: test_mongo_replica_set
   secondaryIndexPrefetch: all
   enableMajorityReadConcern: true
#sharding:

## Enterprise-Only Options

#auditLog:

#snmp:

vi /etc/mongod_27018.conf

文件内容如下:

# mongod_27018.conf

# for documentation of all options, see:
#   http://docs.mongodb.org/manual/reference/configuration-options/

# where to write logging data.
systemLog:
  destination: file
  logAppend: true
  # log的路径与上边创建的路径一一致
  path: /data/log/mongodb/mongod_27018.log

# Where and how to store data.
storage:
	# db储存的路径与上边创建的路径一一致
  dbPath: /data/db/mongo_27018
  journal:
    enabled: true
#  engine:
#  mmapv1:
#  wiredTiger:

# how the process runs
processManagement:
  fork: true  # fork and run in background
  pidFilePath: /var/run/mongodb/mon
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值