Linux下的mongodb分片部署

前提: 分片服务器不设置从服务和均衡服务,只有主服务器;
当前测试为所有服务器均在同一台物理机上。

1.测试环境:192.168.1.55. 
2.测试模式:单机。
3.服务:分片服务器1:192.168.1.55:10001
分片服务器2:192.168.1.55:10002
配置服务器: 192.168.1.55:20001
路由服务器: 192.168.1.55:30001

4.目录设置:
分片服务器1:/usr/mongodbtest/sd1,内含目录data,log目录,配置文件
分片服务器2:/usr/mongodbtest/sd2,内含目录data,log目录,配置文件
配置服务器: /usr/mongodbtest/cfg1,内含目录data,log目录,配置文件
路由服务器: /usr/mongodbtest/rout,内含log文件

5.配置文件:
分片服务器1:
systemLog:

destination: file
logAppend: true
path: /usr/mongodbtest/sd1/log/mg.log

storage:

dbPath: /usr/mongodbtest/sd1/data
journal:
enabled: true
       engine: wiredTiger

processManagement:

fork: true 
          pidFilePath: /usr/mongodbtest/sd1/mongod.pid

net:

port: 10001
     分片服务器2:
        类似1.
配置服务器:
        多2个参数:
       replication:
replSetName: set61
sharding:
clusterRole: configsvr
配置服务器:
       暂用命令方式,见第8步。

6.启动分片和配置服务器:
> ./mongod --config 实际的配置文件路径

7.初始化配置服务器:
> ./mongo 192.168.1.55:20001
>rs.initiate({
_id:"set61",
configsvr: true,
members:[ { _id: 0, host:"192.168.1.55:20001"} //可设置多台
]
})

8. 启动路由服务器:
./mongos --port 30001 --configdb set61/192.168.1.55:20001 --logappend -- logpath

/usr/mongodbtest/rout/rt.log --fork

9. 增加分片
> ./mongo 192.168.1.55:30001
mongos> sh.addShard("192.168.1.55:10001");
mongos> sh.addShard("192.168.1.55:10002");

10.激活分片
> ./mongo 192.168.1.55:30001
mongos>sh.enableSharding("你的数据库")

11.增加片键
sh.shardCollection("gwgps.location", { "hostid": 1})

12.增加索引,插入数据等等步骤。

posted @   三驾马车  阅读(459)  评论(0编辑  收藏  举报
编辑推荐:
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
点击右上角即可分享
微信分享提示