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.增加索引,插入数据等等步骤。

原文地址:https://www.cnblogs.com/myibm/p/5939324.html