一、实验目的

1、了解MongoDB数据库;

2、掌握MongoDB的安装与基本配置;


(资料图片仅供参考)

3、掌握MongoDB数据库集群的实现;

4、掌握使用MongoDB Compass管理MongoDB数据库集群。

二、实验学时

2学时

三、实验类型

综合性

实验需求

1、硬件

每个人配备计算机1台。

2、软件

Windows操作系统,安装Oracle VM VirtualBox软件,安装MobaXterm软件。

安装MongoDB Compass软件。

3、网络

本地主机与虚拟机能够访问互联网,不使用DHCP服务。

4、工具

无。

五、实验任务

1、完成MongoDB的安装;

2、完成使用MongoDB实现副本集;

3、完成使用MongoDB Compass管理MongoDB数据库集群,并进行副本集测试。

六、实验环境

3、本实验拓扑图,如图9-1所示。

七、实验内容步骤

1、完成MongoDB的安装

在主机Lab-09-Task-01上操作

(1)查看防火墙Firewalld服务状态(CentOS操作系统默认安装Firewalld防火墙,并创建firewalld服务,该服务已开启且已配置为开机自启动)。

(2)使用firewall-cmd命令添加本地客户端允许远程连接MongoDB数据库,以及其余两台主机允许联通该主机的MongoDB数据库,并重新载入防火墙配置使其生效。

(3)使用配置yum源的方式完成MongoDB的安装,安装前需先更新软件包缓存。

(4)启动mongod服务,设置mongod服务为开机自启动并查看mongod服务运行状态。

在主机Lab-09-Task-02上操作

主机Lab-09-Task-02安装MongoDB的方法和过程,请参考步骤完成。

在主机Lab-09-Task-03上操作

主机Lab-09-Task-03安装MongoDB的方法和过程,请参考步骤完成。

2、配置副本集

在主机Lab-09-Task-01上操作

具体过程如下。

(1)生成MongoDB的副本集密钥。

(2)设置上述创建的密钥文件()的读写权限为400,所有者和所属组均为mongod。

(3)使用scp命令将主机Lab-09-Task-01上的副本集密钥文件分发到主机Lab-09-Task-02,并按照操作提示完成文件的传输。

(4)使用scp命令将主机Lab-09-Task-01上的副本集密钥文件分发到主机Lab-09-Task-03,并按照操作提示完成文件的传输。

(5)修改/etc/文件配置MongoDB支持副本集,修改完成后重启mongod服务,确保配置生效。

在主机Lab-09-Task-02上操作

(1)将从主机Lab-09-Task-01传输过来的副本集密钥文件()的读写权限设置为400,所有者和所属组均设置为mongod。

(2)修改/etc/文件配置MongoDB支持副本集,修改完成后重启mongod服务,确保配置生效。

在主机Lab-09-Task-03上操作

主机Lab-09-Task-03配置副本集的方法和过程,请参考步骤完成。

3、初始化副本集

在主机Lab-09-Task-01上进行操作,进行副本集的初始化,具体步骤如下。

(1)使用mongo命令连接MongoDB客户端,初始化副本集,并退出当前连接。

(2)使用mongo命令连接MongoDB客户端,查看副本集状态,并退出当前连接。

(3)使用mongo命令连接MongoDB客户端,为副本集创建用户,并退出当前连接。

4、使用MongoDB Compass管理MongoDB数据库集群

(1)从MongoDB Compass的官方网站()获取可执行程序,并进行安装。

(2)运行MongoDB Compass,依据向导添加3台MongoDB服务器,并进行连接。

点击“New connection”按钮,在右侧的URI输入框中通过标准连接字符串格式连接MongoDB数据库,如图9-1所示。

连接格式如下。

(3)连接到数据库服务器后,可点击“Databases”查看MongoDB数据库列表,如图9-2所示。

5、测试MongoDB集群的可用性

场景1:主节点增加数据,从节点同步增加

(1)使用MongoDB Compass通过用户“mongodblab2”连接到副本集主节点Lab-09-Task-01,创建数据库、集合,并添加数据。

(2)使用MongoDB Compass通过用户“mongodblab2”连接到副本集从节点-1(Lab-09-Task-02),查看在主节点上创建的数据库、集合以及添加的数据,是否存在。

(3)使用MongoDB Compass通过用户“mongodblab2”连接到副本集从节点-2(Lab-09-Task-03),查看在主节点上创建的数据库、集合以及添加的数据,是否存在。

场景2:主节点删除数据,从节点同步删除

(1)使用MongoDB Compass通过用户“mongodblab2”连接到副本集主节点Lab-09-Task-01,删除数据。

(2)使用MongoDB Compass通过用户“mongodblab2”连接到副本集从节点-1(Lab-09-Task-02),查看在主节点上删除的数据,是否已不存在。

(3)使用MongoDB Compass通过用户“mongodblab2”连接到副本集从节点-2(Lab-09-Task-03),查看在主节点上删除的数据,是否已不存在。

场景3:主节点宕机,业务不受影响

(1)在主节点Lab-09-Task-01上执行systemctl stop命令,关闭mangod服务,以模拟主节点宕机故障。

(2)在从节点Lab-09-Task-02上使用mongo -umongodblab2 -pmongodblab2#PWD命令连接MongoDB客户端,查看当前主节点所在的主机。

场景4:原主节点恢复正常,业务不受影响

(1)在原主节点Lab-09-Task-01上执行systemctl start命令,启动mangod服务,以模拟原主节点恢复正常,连接MongoDB客户端并查看副本集状态。

(2)使用MongoDB Compass通过用户“mongodblab2”连接到副本集原主节点Lab-09-Task-01,查看宕机期间未同步的数据是否已同步。

创作说明

配图图书:Linux服务器构建与运维管理从基础到实战(基于CentOS 8实现)

图书网站:

作者:阮晓龙 冯顺磊 董凯伦 于冠军 张浩林 李朋楠 编著 

出版社:中国水利水电出版社

ISBN:9787517092025

实验指导撰写团队:徐志豪 李兵兵 毋天翔

实验指导审核:阮晓龙 冯顺磊  

推荐内容