標籤:mongodb mongod mongos
搭建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() --查看已有分區的塊
mongodb叢集搭建步驟