MongoDB 分片配置

社區版下載中心:https://www.mongodb.com/downl...
官方安裝手冊:https://docs.mongodb.com/manu...linux

下載解壓

wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-ubuntu1604-3.6.2.tgz
tar zxvf mongodb-linux-x86_64-ubuntu1604-3.6.2.tgz
mv mongodb-linux-x86_64-ubuntu1604-3.6.2 ~/mongo

配置環境變量

echo "export PATH=/root/mongo/bin:\$PATH" >> ~/.bashrc
source ~/.bashrc

驗證版本

mongo -version
若是出現沒有顯示版本號, 說明前幾步有問題

建立數據和日誌的文件夾

mkdir -p /data/db/27017
mkdir -p /data/db/27018
mkdir -p /data/db/27019
mkdir -p /data/db/27020

mkdir -p /data/mongo_log/

啓動

第一進程是配置服務
下面三個是分片, 機器資源有限,這裏再也不添加副本(能夠當作只有一個副本)mongodb

mongod --bind_ip_all --port 27017 --dbpath "/data/db/27017" --logpath "/data/mongo_log/27017.log" --configsvr --replSet "rs-config" --fork
mongod --bind_ip_all --port 27018 --dbpath "/data/db/27018" --logpath "/data/mongo_log/27018.log" --shardsvr --replSet "rs-1" --fork
mongod --bind_ip_all --port 27019 --dbpath "/data/db/27019" --logpath "/data/mongo_log/27019.log" --shardsvr --replSet "rs-2" --fork
mongod --bind_ip_all --port 27020 --dbpath "/data/db/27020" --logpath "/data/mongo_log/27020.log" --shardsvr --replSet "rs-3" --fork

啓動副本集

循環登錄每一個實例, 開啓副本集shell

mongo 127.0.0.1:27017
進入 shell 後運行 rs.initiate() 而後 Ctrl + C 退出 shell

mongo 127.0.0.1:27018
.....
mongo 127.0.0.1:27020

啓動 mongos

mongos --bind_ip_all --port 27021 --configdb rs-config/127.0.0.1:27017 --logpath "/data/mongo_log/mongos_27021.log" --fork

登錄 mongos

進入 shell數據庫

mongo 127.0.0.1:27021

添加分片

sh.addShard("rs-1/wkfg-mongo:27018")
sh.addShard("rs-2/wkfg-mongo:27019")
sh.addShard("rs-3/wkfg-mongo:27020")

分片配置

指定數據庫, 開啓分片, 指定 Collection 的分片策略ubuntu

sh.enableSharding("test")
sh.shardCollection("test.col",{id:"hashed"})

### 好比再添加一個
use mongo-study
sh.enableSharding("mongo-study")
sh.shardCollection("mongo-study.test-collection",{id:"hashed"})
相關文章
相關標籤/搜索