mongodb 3.4分片复制集配置
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了mongodb 3.4分片复制集配置,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含4027字,纯文字阅读大概需要6分钟。
内容图文
f /home/mongodb/db27017/mongodb27017.conf mongod -f /home/mongodb/db27018/mongodb27018.conf mongod -f /home/mongodb/db27019/mongodb27019.conf配置文件如下:
verbose = true #日志信息 vvvv = true #日志的级别 logpath=/home/mongodb/db27019/log/mongodb.log #日志文件 logappend=true #设置文件记录格式TRUE为追加,false为覆盖p port = 27019 #指定端口号 maxConns = 2000 #最大链接数,默认情况是根据系统限制最大不超过2W pidfilepath =/home/mongodb/db27019/tmp/mongo.pid #进程ID,没有指定则启动时候就没有PID文件 nounixsocket = false #当设置为true时,不会生成socket文件 unixSocketPrefix =/home/mongodb/db27019/tmp #套接字文件路径,默认/tmp fork = true #后台运行的守护进程模式 dbpath=/home/mongodb/db27019/data #数据存放目录 noprealloc = false #预分配方式来保证写入性能,true会带来性能下降 nssize = 16 #命名空间默认大小16M,最大2G #慢日志 profile = 1 #0 关。无分析1仅包括慢操作2包括所有操作。 slowms = 200 #大于200ms的日志将会被记录下来 replSet=sharingmxq configsvr=true2:进入一台机器进行初始化:
mongo use admin rs.initiate( { _id: "sharingmxq", configsvr: true, members: [ { _id : 0, host : "localhost:27017" }, { _id : 1, host : "localhost:27018" }, { _id : 2, host : "localhost:27019" } ] } )
3:创建分片的复制集
[root@mxqmongodb2 mongodb]# mkdir -p /home/mongodb/db37017/data [root@mxqmongodb2 mongodb]# mkdir -p /home/mongodb/db37017/tmp [root@mxqmongodb2 mongodb]# mkdir -p /home/mongodb/db37017/log [root@mxqmongodb2 mongodb]# mkdir -p /home/mongodb/db37017/key [root@mxqmongodb2 mongodb]# mkdir -p /home/mongodb/db37018/data [root@mxqmongodb2 mongodb]# mkdir -p /home/mongodb/db37018/tmp [root@mxqmongodb2 mongodb]# mkdir -p /home/mongodb/db37018/log [root@mxqmongodb2 mongodb]# mkdir -p /home/mongodb/db37018/key [root@mxqmongodb2 mongodb]# mkdir -p /home/mongodb/db37019/key [root@mxqmongodb2 mongodb]# mkdir -p /home/mongodb/db37019/log [root@mxqmongodb2 mongodb]# mkdir -p /home/mongodb/db37019/tmp [root@mxqmongodb2 mongodb]# mkdir -p /home/mongodb/db37019/data
启动:
mongod -f /home/mongodb/db37017/mongodb37017.conf mongod -f /home/mongodb/db37018/mongodb37018.conf mongod -f /home/mongodb/db37019/mongodb37019.conf
要注意一点,如果是添加分片复制集的话。每一个分片要指定不同的replSet,然后进行初始化。把一个复制集当成是每一个单机节点就好了,但是添加分片的时候必须指定的是master
4:启动一个mongos实例链接配置mongodb数据库mongos --configdb "sharingmxq"/localhost:27017,localhost:27018,localhost:27019 --port=30000
然后添加分片节点:
use admin mongos> sh.addShard(‘localhost:37017‘) { "shardAdded" : "shard0000", "ok" : 1 } mongos> sh.addShard(‘localhost:37018‘) { "shardAdded" : "shard0001", "ok" : 1 } mongos> sh.addShard(‘localhost:37019‘) { "shardAdded" : "shard0002", "ok" : 1 }
如果三个分片节点使用的是复制集的话就要用以下的方式添加:
mongos> sh.addShard( "sharingmxq/localhost:37017") { "shardAdded" : "sharingmxq", "ok" : 1 } mongos> sh.addShard( "sharingmxq/localhost:37018") { "shardAdded" : "sharingmxq", "ok" : 1 } mongos> sh.addShard( "sharingmxq/localhost:37019") { "shardAdded" : "sharingmxq", "ok" : 1 }
5:分片的配置
mongos --port=30000 为某个数据库启动分片 sh.enableSharding("maxiangqian") 为某张表添加分片:sh.shardCollection("maxiangqian.maxiangqian", { ‘id‘:1} ) sh.shardCollection(‘aedata.ac01_test‘,{‘id‘:1,‘idcard‘:1})
6:验证分片是否完成
mongos --port=30000 use maxiangqian for (var i = 1; i <= 100000; i++) db.maxiangqian.save({id:i,"test1":"testval1"});
登录各个分片服务器进行验证:
99981 1 18 已经完成了分片。但是为什么分布会不均匀呢,因为我们使用的是hash分区,再插入他个九十万看一下。(要区别hash分区和range分区,hash分区具有易扩展性,但是分布的服务器却不好控制) for (var i = 100000; i <= 1000000; i++) db.maxiangqian.save({id:i,"test1":"testval1"}); 再去验证一下: 328487 --port=37019 335552 --port=37018 335962 --port=37017mongodb 3.4分片复制集配置
标签:分区 慢日志 soc 默认 min eal 命名空间 realloc 日志信息
本文系统来源:http://www.cnblogs.com/shengdimaya/p/6598510.html
内容总结
以上是互联网集市为您收集整理的mongodb 3.4分片复制集配置全部内容,希望文章能够帮你解决mongodb 3.4分片复制集配置所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。