详解MongoDB4.0构建分布式分片群集-创新互联

MongoDB分片简述

目前创新互联已为成百上千家的企业提供了网站建设、域名、雅安服务器托管、网站托管、服务器托管、企业网站设计、宜城网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。

高数据量和吞吐量的数据库应用会对单机的性能造成较大压力,大的查询量会将单机的 CPU 耗尽,大的数据量对单机的存储压力较大,最终会耗尽系统的内存而将压力转移到磁盘 IO 上。


MongoDB 分片是使用多个服务器存储数据的方法,以支持巨大的数据存储和对数据进行操作。分片技术可以满足 MongoDB 数据量大量增长的需求,当一台 MongoDB 服务器不足以存储海量数据或不足以提供可接受的读写吞吐量时,我们就可以通过在多台服务器上分割数据,使得数据库系统能存储和处理更多的数据。


MongoDB分片优势


分片为应对高吞吐量与大数据量提供了方法:

  1. 使用分片减少了每个分片需要处理的请求数,因此,通过水平扩展,群集可以提高自己的存储容量。比如,当插入一条数据时,应用只需要访问存储这条数据的分片。
  2. 使用分片减少了每个分片村存储的数据。

分片的优势在于提供类似线性增长的架构,提高数据可用性,提高大型数据库查询服务器的性能。当MongoDB单点数据库服务器存储成为瓶颈、单点数据库服务器的性能成为瓶颈或需要部署大型应用以充分利用内存时,可以使用分片技术。

MongoDB分片群集的组成


MongoDB分片群集主要有如下三个组件:

  • Shard:分片服务器,用于存储实际的数据块,实际生产环境中一个shard server 角色可以由几台服务器组成一个Peplica Set 承担,防止主机单点故障。
  • Config Server:配置服务器,存储了整个分片群集的配置信息,其中包括chunk信息。
  • Routers:前端路由,客户端由此接入,且让整个群集看上去像单一数据库,前端应用可以透明使用。

系统环境


系统:CentOS 7.4 x86_64


软件版本:4.0


关闭防火墙及selinux

IP地址 路由服务器(Routers) 配置服务器(Config Server) Shard1 Shard2 Shard3
192.168.125.119 27017 27018 27001 27002 27003
192.168.125.120 27017 27018 27001 27002 27003
192.168.125.121 27017 27018 27001 27002 27003

部署分片群集


三台物理服务器安装及配置


1、下载解压MongoDB


wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-4.0.0.tgz
tar zxvf mongodb-linux-x86_64-4.0.0.tgz -C /opt
mv /opt/mongodb-linux-x86_64-4.0.0/ /usr/local/mongodb

网站栏目:详解MongoDB4.0构建分布式分片群集-创新互联
网址分享:http://myzitong.com/article/csdgej.html