mongodb分片集群搭建
分片(sharding)是MongoDB用来将大型集合水平分割到不同服务器(或者复制集)上所采用的方法。
1:分片集群组成
分片集群由以下3个服务组成:
- Shards Server:每个shard由一个或多个mongod进程组成,用于存储数据。
- Router Server: 数据库集群的请求入口,所有请求都通过Router(mongos)进行协调,不需要在应用程序添加一个路由选择器,Router(mongos)就是一个请求分发中心它负责把应用程序的请求转发到对应的Shard服务器上。
- Config Server: 配置服务器。存储所有数据库元信息(路由、分片)的配置。
2:搭建过程
节点1:
192.168.111.139机器上操作如下:
tar -xvf mongodb-linux-x86_64-rhel70-5.0.5.tgz mv mongodb-linux-x86_64-rhel70-5.0.5.tgz mongo_shard_cluster mkdir /data/cluster/config/logs -p
切到mongo_shard_cluster目录,添加配置文件config.conf
# 数据库文件位置 dbpath=/data/cluster/config #日志文件位置 logpath=/data/cluster/config/logs/config.log # 以追加方式写入日志 logappend=true # 是否以守护进程方式运行 fork=true bind_ip=0.0.0.0 port=17017 # 表示是一个配置服务器 configsvr=true #配置服务器副本集名称 replSet=configsvr
启动节点
./bin/mongod -config config.conf
节点2:
192.168.111.140机器上操作如下:
tar -xvf mongodb-linux-x86_64-rhel70-5.0.5.tgz mv mongodb-linux-x86_64-rhel70-5.0.5.tgz mongo_shard_cluster mkdir /data/cluster/config/logs -p
切到mongo_shard_cluster目录,添加配置文件config.conf
# 数据库文件位置 dbpath=/data/cluster/config #日志文件位置 logpath=/data/cluster/config/logs/config.log # 以追加方式写入日志 logappend=true # 是否以守护进程方式运行 fork=true bind_ip=0.0.0.0 port=17017 # 表示是一个配置服务器 configsvr=true #配置服务器副本集名称 replSet=configsvr
启动节点
./bin/mongod -config config.conf
节点3:
192.168.111.141服务器上操作如下
tar -xvf mongodb-linux-x86_64-rhel70-5.0.5.tgz mv mongodb-linux-x86_64-rhel70-5.0.5.tgz mongo_shard_cluster mkdir /data/cluster/config/logs -p
切到mongo_shard_cluster目录,添加配置文件config.conf
# 数据库文件位置
dbpath=/data/cluster/config
#日志文件位置
logpath=/data/cluster/config/logs/config.log
# 以追加方式写入日志
logappend=true
# 是否以守护进程方式运行
fork=true
bind_ip=0.0.0.0
port=17017
# 表示是一个配置服务器
configsvr=true
#配置服务器副本集名称
replSet=configsvr
启动节点
./bin/mongod -config config.conf
确保上面三个节点都已经正常运行
#######进入任意节点的mongo shell并添加配置节点集群,注意这里必须使用admin库进行操作######
./mongo --port 17017 use admin var cfg ={"_id":"configsvr", "members":[ {"_id":1,"host":"192.168.111.139:17017"}, {"_id":2,"host":"192.168.111.140:17017"}, {"_id":3,"host":"192.168.111.141:17017"}] }; rs.initiate(cfg)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具