前言

本文主要讲利用群辉套件搭建mongodb副本集

前期准备

Docker套件

套件中心搜索docker并安装

mongo容器

打开docker,点击注册表搜索mongo,点击mongo选择lastest版本下载

mongodb配置目录

先把配置目录建好,方便后面mongo容器的配置。打开File Station, 新增docker共享文件夹。在docker分别创建mongodb、mongodb2、mongodb3文件夹,每个mongodb配置文件中创建 backup_data、configdb、data 三个文件夹

|-- mongodb
|   |-- backup_data
|   |-- configdb
|   |-- data
|-- mongodb2
|   |-- backup_data
|   |-- configdb
|   |-- data
|-- mongodb3
|   |-- backup_data
|   |-- configdb
|   |-- data

利用ssh分别 configdb 目录下创建keyfile文件用于副本集用户验证。

启动SSH功能,并设置端口

通过SSH连接NAS

# 端口为上面设置的端口
ssh -p 端口 root@192.168.31.158

# 输入密码进入
# 进入configdb目录
cd /volume1/docker/mongodb/configdb

# 创建keyfile文件
openssl rand -base64 741 >> keyfile

# 设置权限
chmod 600 keyfile

# 继续在 /volume1/docker/mongodb2/configdb、/volume1/docker/mongodb3/configdb 目录重复上面操作

mongo容器

点击映像选择下载好的mongo开始设置容器

输入容器名称,点击高级设置

高级设置-选择启用自动重新启动

-点击添加文件夹,选择创建好的docker/mongodb目录下的三个文件,并配置装载路径

端口设置-设置本地端口为27017

环境-设置数据库账号密码和执行命令

变量:

MONGO_INITDB_ROOT_USERNAME MONGO_INITDB_ROOT_PASSWORD

命令:

mongod –replSet rs –keyFile /data/configdb/keyfile

点击 应用 启动容器。

mongodb2、mongodb3容器安装

重复 mongo容器 安装步骤安装容器mongodb2和容器mongodb3,切记端口设置本地端口设置分别为27018、27019。卷文件夹对应不同的路径docker/mongodb2、docker/mongodb3,其他都和mongo1容器设置相同。设置完成应用后如图所示。

配置副本集

连接mongo(设备需安装mongodb,详细安装教程请自行搜索。)

# 账号和密码分别对应设置容器时设置的变量,MONGO_INITDB_ROOT_USERNAME MONGO_INITDB_ROOT_PASSWORD
mongo ip地址:27017/admin -u 账号 -p 密码

进入mongo shell后开始设置

> config = {
    "_id": "rs",
    "members": [ 
        { 
            "_id": 0, 
            "host": "ip地址:27017"
        },
        { 
            "_id": 1, 
            "host": "ip地址:27018" 
        }, 
        { 
            "_id": 2, 
            "host": "ip地址:27019",
            "arbiterOnly": true  
        } 
    ]
}
> rs.initiate(config)

# 查看状态
> rs.status() 

# 查看当前mongo是不是主节点
rs.isMaster()

测试

利用mongodb官方免费客户端 Robo3T 测试是否搭建成功。软件下载地址:https://robomongo.org/download

软件界面

点击左侧按钮,选择create创建新的连接

Connection:
Type: 选择Replica Set
Name: 随便填用来做标识
Members: 点击加号添加mongo地址
Set Name: 为创建容器设置的 --replSet 名称 rs

Authentication: 如图所示,填入用户验证信息

点击 Test 进行测试连接

完结