大佬教程收集整理的这篇文章主要介绍了CentOS 7上部署MongoDB分片群集(MongoDB 3.2.1版本),大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
高数据量和吞吐量的数据库应用会对单机的性能造成较大压力,大的查询量会将单机的cpu耗尽,大的数据量对单机的存储压力较大,最终会耗尽系统的内存而将压力转移到磁盘IO上。
@H_358_18@mongoDB分片是使用多个服务器存储数据的方法,以支持巨大的数据存储和对数据进行操作。分片技术可以满足R_859_11845@ongoDB数据量大量增长的需求,当一台MongoDB服务器不足以存储海量数据或不足以提供可接受的读写吞吐量时,我们就可以通过在多台服务器上分割数据,使得数据库系统能存储和处理更多的数据。 @H_611_22@mongoDB分片优势分片为应对高吞吐量与大数据量提供了方法。
分片的优势在于提供类似线性增长的架构,提高数据可用性,提高大型数据库查询服务器的性能。当MongoDB单点数据库服务器存储成为瓶颈、单点数据库服务器的性能成为瓶颈或者需要部署大型应用以充分利用内存时,可以使用分片技术。
@H_358_18@mongoDB分片结构如下图所示:下面介绍如何在一台物理服务器上部署一个简单结构的MongoDB分片群集。
物理服务器IP地址:192.168.10.154/24 MongoDB软件包:mongodb-linux-x86_64-3.2.1.tgz 具体配置如下: - 1台路由实例(端口27017) - 1台配置实例(端口37017) - 2台Shard实例(端口47017,47018)
部署简单结构的MongoDB分片群集如下图所示:
yum install openssl-devel -y
tar zxvf mongodb-linux-x86_64-3.2.1.tgz -C /opt/
cd /opt/ mv mongodb-linux-x86_64-3.2.1/ /usr/local/mongodb
ulimit -n 25000 //同一时刻最多开启文件数 ulimit -u 25000 //同一时刻最多开启程序数
cd /usr/local/mongodb/bin/ vim mongodb1.conf
port=37017 //端口号 dbpath=/data/mongodb/mongodb1 //数据存放位置 logpath=/data/mongodb/logs/mongodb1.log //日志存放位置 logappend=true //使用追加方式写日志 fork=true //后台运行 maxConns=5000 //最大同时连接数,默认2000 storageENGIne=mmapv1 //指定存储引擎为内存映射文件 configsvr=true //指定为配置服务器
cd /usr/local/mongodb/bin/ cp -p mongodb1.conf mongodb2.conf cp -p mongodb1.conf mongodb3.conf vim mongodb2.conf
port=47017 //端口号 dbpath=/data/mongodb/mongodb2 //数据存放位置 logpath=/data/mongodb/logs/mongodb2.log //日志存放位置 logappend=true fork=true maxConns=5000 storageENGIne=mmapv1 shardsvr=true //指定为分片服务器
vim mongodb3.conf
port=47018 //端口号 dbpath=/data/mongodb/mongodb3 //数据存放位置 logpath=/data/mongodb/logs/mongodb3.log //日志存放位置 logappend=true fork=true maxConns=5000 storageENGIne=mmapv1 shardsvr=true //指定为分片服务器
通过./mongos --Help命令可以查看启动路由相关参数信息。chunkSize为数据块大小,默认为200MB,为了便于测试这里将值设置为1。
./mongos --port 27017 --fork --logpath=/usr/local/mongodb/bin/route.log --configdb 192.168.10.154:37017 --chunkSize 1
连接到路由实例后,可以通过sh.status()命令查看分片状态信息
@H_888_67@mongo //进入路由实例 @H_888_67@mongos> sh.status() //shards下为空,没有分片服务器添加了两个分片服务器后,数据库和集合还未启用分片,这里我先创建一个xxy数据库,并创建集合
@H_888_67@mongos> use xxy mongos> db.users.insert({"id":1,"name":"zhangsan"}) mongos> show dbs以上是大佬教程为你收集整理的CentOS 7上部署MongoDB分片群集(MongoDB 3.2.1版本)全部内容,希望文章能够帮你解决CentOS 7上部署MongoDB分片群集(MongoDB 3.2.1版本)所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。