步骤同win10,多加linux相关命令
1. 新建shard用于存放构建副本集的节点,并在对应的节点下建立db/log文件夹 用于存放数据/日志文件,新建conf配置文件
mkdir db log //建立文件夹
vim config.conf//新建conf文件
//conf文件
port=
dbpath=
logpath=
logappend=true //append追加日志
bind_ip=0.0.0.0 //允许远程连接
fork=true//启用此选项以调用fork创建子进程,在后台运行MongoDB,启用此时必须同时启用logpath
2.shard节点分别启动MongoDB
//在mongo/bin下执行
./mongod --config config文件路径 --replSet 副本集名称 --shardsvr
3. 将节点添加到副本集中
mongo --port 端口号 // 连接数据库
rs.initiate() //初始化副本集
rs.add("IP:PORT")//添加节点
rs.status() //查看副本集状态
4. config节点启动,添加副本集步骤同3
./mongod --config config文件路径 --replSet arg --configsvr
5. 启动mongos节点
./mongos --configdb config副本集名称arg/config节点IP:端口,XXX --port --logpath --bind_ip 0.0.0.0
6. 添加分片信息
./mongo --port PORT
sh.addShard("shard1的副本集名称/shard中的IP:PORT 用,隔开")
sh.status() //查看分片集信息
use admin //切换到admin数据库 以便后续分片及添加集
db.runCommand({enablesharding:"dbName"}) //运行dbName数据库分片
db.runCommand({shardcollection:"db.collection",key:{"field":1/"hashed"}}) //添加分片键
db.collection.stats().sharded //true 分片成功
7. 新建用户
db.createUser({user:"",pwd:"",roles:[{role:"权限",db:"dbName"}]})
db.auth("username","pwd")
role分为以下角色
用户角色:read readWrite
管理角色:dbAdmin dbOwner userAdmin
集群角色:clusterAdmin clusterManager clutserMonitor
springboot配置中连接mongos端口即可,开防火墙端口
firewall-cmd --query-port=PORT/tcp 查询端口防火墙
no
firewall-cmd --add-port=PORT/tcp 开放端口防火墙
此文为个人学习记录,若存在问题请纠正