Mongodb分片群集部署
1、 下载mongodb
http://www.mongodb.org/downloads
2、 replicaSet安装部署
$mongod.exe --dbpath d:\data\db1 --replSet myset --port 27017 --logpath d:\data\shard1.log --rest
$ mongod.exe –dbpath d:\data\db2 –replSet myset --port 27018 --logpath d:\data\shard2.log --rest
$mongod.exe --dbpath d:\data\db3 --replSet myset --port 27019 --logpath d:\data\shard3.log --rest
$mongo –port 27017
在新做replica的时候,primary可以有数据,但是secondary绝对不能有数据,否则新建将失败。但是在添加secondary节点的时候,可以有数据。这样的话,在考虑迁移的时候必须要有注意。
>config = {_id:’myset’,members: [
{_id:0,host:’127.0.0.1:27017’},
{_id:1,host:’127.0.0.1:27018’},
{_id:2,host:’127.0.0.1:27019’,arbiterOnly:true}
]}
>rs.initiate(config)
>rs.status()
#add new numbers
>rs.add({_id:3,host:’127.0.0.1:27020’})
>rs.add({_id:4,host:’127.0.0.1:27021’,arbiterOnly:true})
#另外一种添加节点:
primary>config=rs.conf()
primary>config.members=[{_id:5,host:"127.0.0.1:27023"},config.members[5],{priority:5}] 增加新节点,并使成为主节点。
primary>rs.reconfig(config) 强制生效。
#remove new numbers
>rs.remove(“127.0.0.1:27020”)
#删除节点:
必须在主节点上操作:
PRIMARY>rs.remove(“127.0.0.1:27020”)
操作完毕后登陆27020
Mongo 127.0.0.1:27020
STARTUP2>use admin
STARTUP2>db.shutdownServer()
#删除节点的令外一种办法:
primary>config=rs.conf()
primary>config.members=[config.members[0],config.members[2],config.members[3]]
primary>rs.reconfig(config,{force:ture}) 使配置强制生效。
# mongodb replica强制切换primary有2种办法:
一、
primary> config = {_id:'myset',members: [
{_id:0,host:"127.0.0.1:27017",priority:1},
{_id:1,host:"127.0.0.1:27018",priority:2},
{_id:2,host:"127.0.0.1:27019",priority:1,arbiterOnly:true}]}
primary>rs.reconfig(config)
secondary>(显示为secondary,则证明切换成功。)
二、
primary>config=rs.conf()
primary>config.members[1].priority=2
primary>rs.reconfig(config)
secondary> 切换成功。
#记录几种状态
STARTUP2
RECOVERING
PRIMARY
SECONDARY