社区版下载中心:https://www.mongodb.com/downl…
官方安装手册:https://docs.mongodb.com/manu…
下载解压
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/
启动
第一进程是配置服务
下面三个是分片, 机器资源有限,这里不再添加副本(可以看成只有一个副本)
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
启动副本集
循环登陆每个实例, 开启副本集
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 的分片策略
sh.enableSharding("test")
sh.shardCollection("test.col",{id:"hashed"})
### 比如再添加一个
use mongo-study
sh.enableSharding("mongo-study")
sh.shardCollection("mongo-study.test-collection",{id:"hashed"})