目录
分片(sharding)是指将数据拆分,将其存放在不同机器上的过程,有时也成为分区(partitioning)。将数据分散到不同的机器上,不需要功能强大的大型计算机就可以存储更多的数据,处理更大的负载。MongoDB的分片机制可以创建一个包含许多台机器(分片)的集群,将数据分散在集群中,每个分片维护着一个数据集合的子集,与单机服务器和副本集相比,使用集群架构可以使应用程序具有更大的数据处理能力。本篇将演示如何搭建MongoDB分片集群环境。
1 软件环境
使用的软件分别为:
- VirtualBox 6.0
- Oracle Linux 6.7
- MongoDB 4.2.0
2 集群架构
3 集群搭建过程
3.1 创建配置服务器副本集
分别在192.168.56.102-----192.168.56.104执行如下操作:
1)创建用户和组
[root@mongos01 ~]# groupadd -g 1001 mongod
[root@mongos01 ~]# useradd -g 1001 mongod
[root@mongos01 ~]# id mongod
uid=500(mongod) gid=1001(mongod) groups=1001(mongod)
[root@mongos01 ~]# passwd mongod
Changing password for user mongod.
New password:
BAD PASSWORD: it is based on a dictionary word
BAD PASSWORD: is too simple
Retype new password:
passwd: all authentication tokens updated successfully.
2)创建目录
192.168.56.102如下目录:
[root@mongos01 ~]# mkdir -p /u01/shard1/data
[root@mongos01 ~]# mkdir -p /u01/shard1/log
[root@mongos01 ~]#
[root@mongos01 ~]# mkdir -p /u01/config/data
[root@mongos01 ~]# mkdir -p /u01/config/log
[root@mongos01 ~]#
[root@mongos01 ~]# mkdir -p /u01/mongos
[root@mongos01 ~]# mkdir -p /u01/conf
[root@mongos01 ~]#
[root@mongos01 ~]# chown -R mongod:mongod /u01/
192.168.56.103如下目录:
[root@mongos02 ~]# mkdir -p /u01/shard2/data
[root@mongos02 ~]# mkdir -p /u01/shard2/log
[root@mongos02 ~]#
[root@mongos02 ~]# mkdir -p /u01/config/data
[root@mongos02 ~]# mkdir -p /u01/config/log
[root@mongos02 ~]#
[root@mongos02 ~]# mkdir -p /u01/mongos
[root@mongos02 ~]# mkdir -p /u01/conf
[root@mongos02 ~]#
[root@mongos02 ~]# chown -R mongod:mongod /u01/
192.168.56.104如下目录:
[root@mongos03 ~]# mkdir -p /u01/config/data
[root@mongos03 ~]# mkdir -p /u01/config/log
[root@mongos03 ~]#
[root@mongos03 ~]# mkdir -p /u01/mongos
[root@mongos03 ~]# mkdir -p /u01/conf
3)解压缩安装包
[root@mongos01 ~]# tar zxvf mongodb-linux-x86_64-rhel62-4.2.0.tgz
mongodb-linux-x86_64-rhel62-4.2.0/THIRD-PARTY-NOTICES.gotools
mongodb-linux-x86_64-rhel62-4.2.0/README
mongodb-linux-x86_64-rhel62-4.2.0/THIRD-PARTY-NOTICES
mongodb-linux-x86_64-rhel62-4.2.0/MPL-2
mongodb-linux-x86_64-rhel62-4.2.0/LICENSE-Community.txt
mongodb-linux-x86_64-rhel62-4.2.0/bin/mongodump
mongodb-linux-x86_64-rhel62-4.2.0/bin/mongorestore
mongodb-linux-x86_64-rhel62-4.2.0/bin/mongoexport
mongodb-linux-x86_64-rhel62-4.2.0/bin/mongoimport
mongodb-linux-x86_64-rhel62-4.2.0/bin/mongostat
mongodb-linux-x86_64-rhel62-4.2.0/bin/mongotop
mongodb-linux-x86_64-rhel62-4.2.0/bin/bsondump
mongodb-linux-x86_64-rhel62-4.2.0/bin/mongofiles
mongodb-linux-x86_64-rhel62-4.2.0/bin/mongoreplay
mongodb-linux-x86_64-rhel62-4.2.0/bin/mongod
mongodb-linux-x86_64-rhel62-4.2.0/bin/mongos
mongodb-linux-x86_64-rhel62-4.2.0/bin/mongo
mongodb-linux-x86_64-rhel62-4.2.0/bin/install