MongoDB(8)---副本集的创建

在这里插入图片描述

上一篇:MongoDB(7)—副本集概念

  首先给要创建的副本集整个名称res(replica_sets),三个节点的端口号:主节点(27017)、从节点(27018)、仲裁节点(27019)。

一、创建主节点

1.新建日志目录和存放数据的目录

mkdir -p /mongodb/replica_sets/res_27017/log
mkdir -p /mongodb/replica_sets/res_27017/data/db

2.创建配置目录及配置文件

配置目录:

mkdir -p /mongodb/replica_sets/res_27017/mongod.conf

配置文件:

storage:
  # mongod 进程存储数据目录,此配置仅对 mongod 进程有效
  dbPath: "/usr/local/mongodb-4.0.9/replica_sets/res_27017/data/db"
  #是否开启 journal 日志持久存储,journal 日志用来数据恢复,是 mongod 最基础的特性,通常用于故障恢复。64 位系统默认为 true32 位默认为 false,建议开启,仅对 mongod 进程有效。
  journal:
    enabled: true
  #存储引擎类型,mongodb 3.0 之后支持 “mmapv1”、“wiredTiger” 两种引擎,默认值为“mmapv1”;官方宣称 wiredTiger 引擎更加优秀。
  engine: mmapv1

systemLog:
  # 日志输出目的地,可以指定为 “file” 或者“syslog”,表述输出到日志文件,如果不指定,则会输出到标准输出中(standard output)
  destination: file
  # 如果为 true,当 mongod/mongos 重启后,将在现有日志的尾部继续添加日志。否则,将会备份当前日志文件,然后创建一个新的日志文件;默认为 false。
  logAppend: true
  # 日志路径
  path: "/usr/local/mongodb-4.0.9/replica_sets/res_27017/log/mongod.log"

processManagement:
  #启用在后台运行mongos或者mongod进程的守护进程模式
  fork: true

net:
  # 绑定外网 op 多个用逗号分隔,默认是localhost
  bindIp: 0.0.0.0
  #指定端口
  port: 27017

replication:
  # 副本集的名称 同一个副本集的主节点、从节点、仲裁节点副本集必须同名
  replSetName: res

3.启动主节点
在这里插入图片描述

/usr/local/mongodb-4.0.9/bin/mongod -f res_27017/mongod.conf

4.创建从节点、仲裁节点

  因为之前我们约定的27017为主节点的端口,27018为从节点的端口,27019为仲裁节点的端口。所以现在主节点我们已经成功启动了,接下来就是配置从节点和仲裁节点。

  重复上面的步骤1步骤3,将端口号分别改为27018,然后以同样的方式启动从节点。

  重复上面的步骤1步骤3,将端口号分别改为27019,然后以同样的方式启动仲裁节点。

用命令ps -ef | grep mongo查看以下三个端口是不是都成功开启了
在这里插入图片描述

5.MongoDB的目录展示
在这里插入图片描述
在这里插入图片描述
下图展示的是主节点的文件目录,res_27018res_27019的文件目录与res_27017的目录内容一致。三者最主要的不同点就是其配置文件中的端口不同。
在这里插入图片描述

  这样MongoDB的一个副本集就创建成功了。

二、连接MongoDB服务,初始化副本集

  我这里还是使用windows命令窗口来连接MongoDB服务。同样是在windows版本的mongodb的bin目录下输入cmd,然后再使用命令mongo -host=IP地址 -port=端口来连接服务(端口号如果不写默认为27017)

在这里插入图片描述
  现在虽然我们开启了三个节点,但是三个节点之间还是没有关联起来。因为三个节点的配置文件中的副本集名称一样,所以我们需要先初始化副本集,然后使得我们同一个副本集名称下的节点关联起来。

1.初始化副本集
  连接上MongoDB服务之后(也就是进入上图所示),使用下面得命令开始初始化副本集:

rs.initiate(configuration)  //configuration是初始化参数得配置,也可以不带此参数,Mongodb会使用默认配置

那我们可以直接使用默认配置rs.initiate()命令来初始化副本集,初始化之后会返回一串JSON格式得响应结果,其中如果显示如下,则表示初始化成功。

{
    "ok" : 1
}

2.将主节点和仲裁节点添加到副本集
使用命令rs.add(host,arbiterOnly)将主节点和仲裁节点添加到副本集。

添加主节点:rs.add("IP地址:27018")

添加仲裁节点:rs.add("IP地址:27019",true)

3.查看副本集状态
使用命令rs.status()可以查看当前副本集得状态
在这里插入图片描述
在这里插入图片描述
  到这里MongoDB中的一个副本集就创建完成了。

下一篇:MongoDB(9)—副本集数据读写

发布了101 篇原创文章 · 获赞 50 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/qq_43655835/article/details/104362080
今日推荐