日期:2014-05-16  浏览次数:20516 次

Mongodb分片群集部署

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