MongoDB Sharding Cluster 分片集群
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/c73e2bee7ffb3a61917cc9aff95cacc2.png)
shard
存储应用数据记录。实际生产环境中一个shard server角色可由几台机器组个一个replica set承担,防止主机单点故障。
Config Server
存储集群所有节点、分片数据路由信息。默认需要分配3个Config Server,mongod实例,存储了整个 ClusterMetadata,其中包括 chunk信息。
Mongos
提供对外应用访问,所有操作均通过mongos执行。一般有多个mongos节点。数据迁移和数据自动平衡。客户端由此接入,且让整个集群看上去像单一数据库,前端应用可以透明使用
5.1 规划
10个实例: 38017-38026
(1)configserver
3台构成的复制集(1主2从,不支持arbiter)38018-38020(复制集名字configsvr)
(2)shard节点;
shd1: 38021-23 (1主2从,其中一个节点为arbiter,复制集名字为shd1)
shd2: 38024-26 (1主2从,其中一个节点为arbiter,复制集名字为shd2)
5.2 shard复制集配置:
5.2.1 目录创建:
mkdir -p /mongodb/38021/conf /mongodb/38021/data /mongodb/38021/log
mkdir -p /mongodb/38022/conf /mongodb/38022/data /mongodb/38022/log
mkdir -p /mongodb/38023/conf /mongodb/38023/data /mongodb/38023/log
mkdir -p /mongodb/38024/conf /mongodb/38024/data /mongodb/38024/log
mkdir -p /mongodb/38025/conf /mongodb/38025/data /mongodb/38025/log
mkdir -p /mongodb/38026/conf /mongodb/38026/data /mongodb/38026/log
5.2.2 修改配置文件:
shd1:
vi /mongodb/38021/conf/mongodb.conf
根据需求修改相应参数:
systemLog:
destination: file
path: "/mongodb/38021/log/mongodb.log"
logAppend: true
storage:
dbPath: "/mongodb/38021/data"
journal:
enabled: true
directoryPerDB: true
#engine: wiredTiger
wiredTiger:
engineConfig:
cacheSizeGB: 1
directoryForIndexes: true
collectionConfig:
blockCompressor: zlib
indexConfig:
prefixCompression: true
processManagement:
fork: true
net:
bindIp: 192.168.253.129,127.0.0.1
port: 38021
replication:
oplogSizeMB: 2048
replSetName: shd1
sharding:
clusterRole: shardsvr
cp /mongodb/38021/conf/mongodb.conf /mongodb/38022/conf/
cp /mongodb/38021/conf/mongodb.conf /mongodb