1. 程式人生 > >MongoDB叢集狀態檢視與重新配置

MongoDB叢集狀態檢視與重新配置

一、叢集狀態檢視:

MongoDB的叢集分兩類:

一類為副本叢集,用瀏覽器檢視狀況:
   http://172.22.0.31:28001
注:28001為mongod啟動埠27001+1000
   

另一類為分片叢集,用下面方式檢視狀況:
   登陸mongos:./bin/mongo --port40000
      mongos>printShardingStatus()

二、叢集重新配置:

考慮下面典型場景,現有叢集4分片2副本模式。首先增加1分片1副本,然後把該1副本增加到2副本。

增加sd5(1分片1副本):
在172.22.0.35上另起一個mongod:
./bin/mongod -f conf/sd5.conf
然後配置replset5:
./bin/mongo --port 27005
   >useadmin
   
   >config= {_id:"sd5", members: [

          {_id: 0, host:"172.22.0.35:27005"}]

     };

   >rs.initiate(config)

配置完之後可以用rs.config()檢視副本集狀態。

接下來在增加shard,登陸mongos(172.22.0.31):
./bin/mongo --port 40000
mongos>db.runCommand({addshard:"sd5/172.22.0.35:27005",name:"sd5",maxsize:20480} )

使用printShardingStatus()檢視狀態。

接下來給sd5增加一個副本:
首先在172.22.0.34和172.22.0.33上分別啟動./bin/mongod -f conf/
然後登陸(172.22.0.35)重新配置副本叢集:
./bin/mongo --port 27005

>use admin
   
   >config= {_id:"sd5", members: [

          {_id: 0, host:"172.22.0.35:27005"},

          {_id: 1, host:"172.22.0.34:27005"},

          {_id: 2, host:"172.22.0.33:27005","arbiterOnly":ture}]

     };

>rs.recofig(config)

配置完成,不用再配置mongos