mongodb 集群搭建

一 硬件配置
采用高配置的服务器用ESXI进行虚拟化出来11台相同测试服务器,每台具体配置为:
磁盘:500G
cpu核数:16核
内存:64G
二 下载mongodb,此处可以到官网下载,由于文件太大,就不上传了,我下载的是mongodb-linux-x86_64-2.4.12.tgz,原因是该版本比较稳定。

三 安装图解


四 安装具体步骤
配置服务器
config1:
/soft/mongodb/bin/mongod --configsvr --dbpath=/soft/mongodb/data/configdb --port 40001 --bind_ip 192.168.50.39 --fork --logpath=/soft/mongodb/log/configlog/configlog.log --logappend&



config2:
/soft/mongodb/bin/mongod --configsvr --dbpath=/soft/mongodb/data/configdb --port 40002 --bind_ip 192.168.50.46 --fork --logpath=/soft/mongodb/log/configlog/configlog.log --logappend&


config3:
/soft/mongodb/bin/mongod --configsvr --dbpath=/soft/mongodb/data/configdb --port 40003 --bind_ip 192.168.50.28 --fork --logpath=/soft/mongodb/log/configlog/configlog.log --logappend&



路由服务器
mongos:
/soft/mongodb/bin/mongos --configdb 192.168.50.39:40001,192.168.50.46:40002,192.168.50.28:40003 --port 50001 --bind_ip 192.168.50.45   --fork --logpath=/soft/mongodb/log/mongoslog/mongoslog.log --logappend&




数据服务器firstSet:
主primarydata1:
/soft/mongodb/bin/mongod --dbpath=/soft/mongodb/data/primarydata --bind_ip 192.168.50.48 --port 30001 --replSet firstSet  --fork --logpath=/soft/mongodb/log/primarylog/primarylog.log --logappend&


备seconddata1:
/soft/mongodb/bin/mongod --dbpath=/soft/mongodb/data/seconddata --bind_ip 192.168.50.39 --port 30002 --replSet firstSet  --fork --logpath=/soft/mongodb/log/secondlog/secondlog.log --logappend&


仲裁arbiterdata1:
/soft/mongodb/bin/mongod --dbpath=/soft/mongodb/data/arbiterdata --bind_ip 192.168.50.46 --port 30003  --replSet firstSet --fork --logpath=/soft/mongodb/log/arbiterlog/arbiterlog.log --logappend&



数据服务器secondSet:
主primarydata2:
/soft/mongodb/bin/mongod --dbpath=/soft/mongodb/data/primarydata --bind_ip 192.168.50.27 --port 30004   --replSet secondSet  --fork --logpath=/soft/mongodb/log/primarylog/primarylog.log --logappend&


备seconddata2:
/soft/mongodb/bin/mongod --dbpath=/soft/mongodb/data/seconddata --bind_ip 192.168.50.46 --port 30005   --replSet secondSet  --fork --logpath=/soft/mongodb/log/secondlog/secondlog.log --logappend&


仲裁arbiterdata2:
/soft/mongodb/bin/mongod --dbpath=/soft/mongodb/data/arbiterdata --bind_ip 192.168.50.28 --port 30006   --replSet secondSet --fork --logpath=/soft/mongodb/log/arbiterlog/arbiterlog.log --logappend&



数据服务器thirdSet:
主primarydata3:
/soft/mongodb/bin/mongod --dbpath=/soft/mongodb/data/primarydata --bind_ip 192.168.50.32 --port 30007   --replSet thirdSet  --fork --logpath=/soft/mongodb/log/primarylog/primarylog.log --logappend&


备seconddata3:
/soft/mongodb/bin/mongod --dbpath=/soft/mongodb/data/seconddata --bind_ip 192.168.50.28 --port 30008   --replSet thirdSet  --fork --logpath=/soft/mongodb/log/secondlog/secondlog.log --logappend&


仲裁arbiterdata3:
/soft/mongodb/bin/mongod --dbpath=/soft/mongodb/data/arbiterdata --bind_ip 192.168.50.39 --port 30009  --replSet thirdSet --fork --logpath=/soft/mongodb/log/arbiterlog/arbiterlog.log --logappend&



数据服务器fourthSet:
主primarydata4:
/soft/mongodb/bin/mongod --dbpath=/soft/mongodb/data/primarydata --bind_ip 192.168.50.78 --port 30010 --replSet fourthSet  --fork --logpath=/soft/mongodb/log/primarylog/primarylog.log --logappend&


备seconddata4:
/soft/mongodb/bin/mongod --dbpath=/soft/mongodb/data/seconddata --bind_ip 192.168.50.80 --port 30011 --replSet fourthSet  --fork --logpath=/soft/mongodb/log/secondlog/secondlog.log --logappend&


仲裁arbiterdata4:
/soft/mongodb/bin/mongod --dbpath=/soft/mongodb/data/arbiterdata --bind_ip 192.168.50.81 --port 30012  --replSet fourthSet --fork --logpath=/soft/mongodb/log/arbiterlog/arbiterlog.log --logappend&



数据服务器fifthSet:
主primarydata5:
/soft/mongodb/bin/mongod --dbpath=/soft/mongodb/data/primarydata --bind_ip 192.168.50.79 --port 30013 --replSet fifthSet  --fork --logpath=/soft/mongodb/log/primarylog/primarylog.log --logappend&


备seconddata5:
/soft/mongodb/bin/mongod --dbpath=/soft/mongodb/data/seconddata --bind_ip 192.168.50.81 --port 30014 --replSet fifthSet  --fork --logpath=/soft/mongodb/log/secondlog/secondlog.log --logappend&


仲裁arbiterdata5:
/soft/mongodb/bin/mongod --dbpath=/soft/mongodb/data/arbiterdata --bind_ip 192.168.50.80 --port 30015  --replSet fifthSet --fork --logpath=/soft/mongodb/log/arbiterlog/arbiterlog.log --logappend&



配置第一个Replica Set:
/soft/mongodb/bin/mongo 192.168.50.48:30001
cfgfirstSet = { _id:"firstSet", members:[ {_id:0,host:'192.168.50.48:30001',priority:2}, {_id:1,host:'192.168.50.39:30002',priority:1},
               {_id:2,host:'192.168.50.46:30003',arbiterOnly:true}] }
rs.initiate(cfgfirstSet)




配置第二个Replica Set:
/soft/mongodb/bin/mongo 192.168.50.27:30004
cfgsecondSet= { _id:"secondSet", members:[ {_id:0,host:'192.168.50.27:30004',priority:2}, {_id:1,host:'192.168.50.46:30005',priority:1},
               {_id:2,host:'192.168.50.28:30006',arbiterOnly:true}] }
rs.initiate(cfgsecondSet)




配置第三个Replica Set:
/soft/mongodb/bin/mongo 192.168.50.32:30007
cfgthirdSet = { _id:"thirdSet", members:[ {_id:0,host:'192.168.50.32:30007',priority:2}, {_id:1,host:'192.168.50.28:30008',priority:1},
               {_id:2,host:'192.168.50.39:30009',arbiterOnly:true}] }
rs.initiate(cfgthirdSet)


配置第四个Replica Set:
/soft/mongodb/bin/mongo 192.168.50.78:30010
cfgfourthSet = { _id:"fourthSet", members:[ {_id:0,host:'192.168.50.78:30010',priority:2}, {_id:1,host:'192.168.50.80:30011',priority:1},
               {_id:2,host:'192.168.50.81:30012',arbiterOnly:true}] }
rs.initiate(cfgfourthSet)


配置第五个Replica Set:
/soft/mongodb/bin/mongo 192.168.50.79:30013
cfgfifthSet = { _id:"fifthSet", members:[ {_id:0,host:'192.168.50.79:30013',priority:2}, {_id:1,host:'192.168.50.81:30014',priority:1},
               {_id:2,host:'192.168.50.80:30015',arbiterOnly:true}] }
rs.initiate(cfgfifthSet)




将三个Replica Set添加到集群中
/soft/mongodb/bin/mongo 192.168.50.45:50001
sh.addShard("firstSet/192.168.50.48:30001")
sh.addShard("secondSet/192.168.50.27:30004")
sh.addShard("thirdSet/192.168.50.32:30007")
sh.addShard("fourthSet/192.168.50.78:30010")
sh.addShard("fifthSet/192.168.50.79:30013")


五 设置分片
> use admin
> printShardingStatus()
> use DIPatent
>db.createCollection('patent')
>use admin
>db.runCommand({enablesharding:'DIPatent'}) //设置数据库可以分片
>db.runCommand({shardcollection:'DIPatent.patent',key:{sid:1}})  //设置表的分区主键为order_id


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值