在Mongodb中有2种方式来做集群,一种是Mastet--slave,另一种是replset.先新版本中推荐使用replset.下面就是怎样使用replset来构建我们的数据库服务器集群.我们用3台数据库服务器,其中2台用来存储数据,另一台用来做仲裁服务器(当存储数据的服务器down掉时仲裁服务器用来决定选择新的primary服务器).
第一步:在s1服务器上运行mongo --rest --replSet setname 命令启动数据库
--rest表示我们可以在浏览器上查看当前集群额度状态信息或日志信息
setname表示要创建的集群名字
第二步:因为是新创建的数据库集群我们要对它进行一些配置的设置:
rs.initiate()
第三步:在s2服务器上运行mongo --rest --replSet setname 命令启动数据库并且使用rs.add("hostname")现在就把sa上的数据库加入到setname这个集群上呢.
第四步:一般情况下我们还会加入仲裁服务器去选择primary结点,仲裁服务器可以不需要单独放在一台电脑上。使用下面命令启动仲裁服务器:
mongo --rest --replSet setname
使用rs.add({ _id:2, host:”sf3”, arbiterOnly:true})命令设置该服务器为仲裁服务器.添加的参数还可以有下面这些:
_id : <ordinal>, host : <hostname[:port]> [, arbiterOnly : true] [, buildIndexes : <bool>] [, hidden : true] [, priority: <priority>] [, tags: {loc1 : desc1, loc2 : desc2, ..., locN : descN}] [, slaveDelay : <n>] [, votes : <n>]
最后我们可以使用web浏览器来查看集群状态: http://hostname:28017/_replSet