搭建mongodb集群很多次,每次都会或多、或少出现一些见鬼的问题,写这边博客供以后参考。
本次是基于mongodb3.0进行集群的搭建;搭建步骤如下:
1、设置操作系统的环境
echo "never">"/sys/kernel/mm/transparent_hugepage/enabled" echo "never">"/sys/kernel/mm/transparent_hugepage/defrag" ulimit -n 64000
2、配置文件的修改[mongod.conf]
shards配置:port=27018、directoryperdb=true 、bind_ip=0.0.0.0 config配置:port=27019、bind_ip=0.0.0.0 monogs配置:mongos --configdb 192.168.12.150:27019 --logpath /var/log/mongodb/mongos.log --pidfilepath /var/run/mongodb/mongos.pid --logappend --logRotate reopen --fo hosts配置:{shardone.mongodb.local,shardtwo.mongodb.local,shardthree.mongodb.local}添加上每台分片服务器对应的IP地址的域名解析
3、添加分片
>>mongo admin >>db.runCommand({addshard:"shardone.mongodb.local:27018",name:"shardone"}) --添加分片 >>db.runCommand({addshard:"shardtwo.mongodb.local:27018",name:"shardtwo"}) >>db.runCommand({addshard:"shardthree.mongodb.local:27018",name:"shardthree"})
分片服务器尽量以域名解析的方式,避免以后服务器的ip地址变更
4、对数据库启动分片和添加片键
>>db.runCommand({"enablesharding":"mc_visit"}) >>db.runCommand({"shardcollection":"mc_visit.mc_visit","key":{"visitdate":-1,"virus":1}})
5、没有数据情况下修改片键
>>use config >>db.collections.find() --查看所有的片键 >>db.chunks.find() --查看已有分片的块
原文地址:http://suiwnet.blog.51cto.com/2492370/1631017