mongoDB分片和mysql的水平分片作用都是一样的,都可以对数据集进行切分以分散不同的主机,达到平衡负载和扩大存储的作用。
如上图所示,mongodb分片集群中共有三种角色
(1)mongos节点:相当于路由器,将客户端请求分配到响应的分片上
(2)Configsvr:配置服务器节点,保存了集群的相关配置。
(3)shardsvr:数据节点,存储数据。
熟悉了主要的三个角色后,我们开始搭建分片集群。主要分为以下几个步骤:
1.启动各个节点,如上图中的三种节点
2.对数据库和集合进行分片设置
3.测试分片
一 启动各个节点
配置:数据库:MongoDB 3.2.9
主机:
192.168.23.168
192.168.23.169
192.168.23.170
1.启动shardsvr
在192.168.23.168主机上启动
#创建log目录和db目录(后两个主机该步骤相同)
mkdir -p /myfile/logs/mongolog
mkdir -p /myfile/mdb/
#启动数据节点 --shardsvr 以角色进行启动 --fork以后台进程方式启动 --logappend 以日志追加方式启动
#--logpath日志目录 --dbpath数据库目录
./mongod --shardsvr --logpath=/myfile/logs/mongolog/shard.log --logappend -