一、实验目的:
熟悉了解MongoDB分片
熟悉分片操作
二、实验环境:
CentOS 7
三、实验内容:
由于本人电脑原因,无法搭建三台服务器,故本次实验使用单机模式进行
1.分片(存储)节点副本集的创建
1.1第一套副本集
准备存放数据和日志的目录
新建或修改配置文件
以此建立三个服务。
启动服务
1.2 第二套副本集
准备存放数据和日志的目录
新建或修改配置文件
启动服务
1.3配置集
同样创建三个服务
新建或修改配置文件:
启动服务
2.初始化副本集
与上面连接节点处相同
但是配置集中不需要添加仲裁节点,将两个节点以从节点的方式加入即可。
第一个副本集的主节点
第一个副本集的副本节点
第一个副本集的仲裁节点
第二个副本集的主节点
第二个副本集的副本节点
第二个副本集的仲裁节点
配置集的主节点
配置集的两个副本节点
3.路由集
是mongos的服务,不是mongod的服务
第一步:准备存放日志的目录:
新建或修改配置文件:
启动mongos:
能查看数据库
貌似也能建库
当插入数据失败
此时路由还不能找到分片,所要要添加分片到路由中。
4.添加分片
语法:
sh.addShard(“IP:Port”)
将第一套副本集添加进来:
开启分片功能
集合分片
对集合分片,必须使用sh.shardCollection()方法指定集合和分片键
查看分片状态:
5.分片后插入数据测试
登录mongs后,向comment循环插入1000条数据做测试:
分别登陆两个片的主节点,统计文档数量
第一个副本集:
第二个副本集:
6.增加第二个路由节点:
和创建第一个节点的方式相同,开启服务后不需要再添加分配,会由配置服务自动同步。
7.安全认证
分片的安全认证与副本集的安全认证基本一致,详细操作在实验报告三。
四、心得体会:
经过了本次实验,对MongoDB副本集的认识更深入了,对分片的知识也有更详细的掌握,认识了分片策略,熟悉了分配集群的架构,并能进行分片集群的部署。