機器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、完成