MongoDB分片叢集新增分片(自用)

右介發表於2017-08-11

機器IP為192.168.58.11,計劃在上面新建兩個分片並新增到原有分片叢集中。

 

實施如下:

1、58.11建立mongodb資料夾

mkdir -p /opt/mongodb

cd  /opt/mongodb

2、58.11下載mongodb的安裝程式包

wget http://fastdl.mongodb.org/linux/mongodb-linux-x86_64-2.4.8.tgz

tar xvzf mongodb-linux-x86_64-2.4.8.tgz

3、58.11、58.10建立shard3 、shard4目錄

#58.11、58.10建立shard3 資料檔案存放目錄
mkdir -p /opt/mongodb/shard3/data
#58.11、58.10建立shard3 日誌檔案存放目錄
mkdir -p /opt/mongodb/shard3/log
#58.11、58.10建立shard4 資料檔案存放目錄
mkdir -p /opt/mongodb/shard4/data
#58.11、58.10建立shard4 日誌檔案存放目錄
mkdir -p /opt/mongodb/shard4/log
 
4、規劃shard3、shard4埠分別為22003、22004
 
5、配置各個分片的副本集(暫未開啟副本集)
 
#58.11、58.10分別設定分片3伺服器及副本集shard3
/opt/mongodb/mongodb-linux-x86_64-2.4.8/bin/mongod --shardsvr --replSet shard3 --port 22003 --dbpath /opt/mongodb/shard3/data  --logpath /opt/mongodb/shard3/log/shard3.log --fork
#58.11、58.10分別設定分片4伺服器及副本集shard4
/opt/mongodb/mongodb-linux-x86_64-2.4.8/bin/mongod --shardsvr --replSet shard4 --port 22004 --dbpath /opt/mongodb/shard4/data  --logpath /opt/mongodb/shard4/log/shard4.log --fork
 
6、分別對每個分片配置副本集

登陸192.168.58.11

#設定第一個分片副本集
/opt/mongodb/mongodb-linux-x86_64-2.4.8/bin/mongo  127.0.0.1:22003
#使用admin資料庫
use admin
#定義副本集配置
config = { _id:"shard3", members:[
                     {_id:0,host:"192.168.58.11:22003"},
                     {_id:2,host:"192.168.58.10:22003",arbiterOnly:true}
                ]
         }
#初始化副本集配置
rs.initiate(config);
#退出
quit();
 
#設定第二個分片副本集
/opt/mongodb/mongodb-linux-x86_64-2.4.8/bin/mongo  127.0.0.1:22004
#使用admin資料庫
use admin
#定義副本集配置
config = { _id:"shard4", members:[
                     {_id:0,host:"192.168.58.11:22004"},
                     {_id:2,host:"192.168.58.10:22004",arbiterOnly:true}
                ]
         }
#初始化副本集配置
rs.initiate(config);
 
6、設定分片配置,讓分片生效
登陸192.168.58.10
#連線到mongos
/opt/mongodb/mongodb-linux-x86_64-2.4.8/bin/mongo  127.0.0.1:27017
#使用admin資料庫
use admin
#串聯路由伺服器與分配副本集3
db.runCommand( { addshard : "shard3/192.168.58.11:22003,192.168.58.10:22003"});
#串聯路由伺服器與分配副本集4
db.runCommand( { addshard : "shard4/192.168.58.11:22004,192.168.58.10:22004"});
#檢視分片伺服器的配置
db.runCommand( { listshards : 1 } );
 
8、完成

相關文章