分片集群的部署
分片集群的部署有两种方式,一是把参数写在命令行中,而是把参数写在配置文件中,这两种方式是等价的,下面的链接是命令行参数与配置文件参数对应表: https://docs.mongodb.com/manual/reference/configuration-file-settings-command-line-options-mapping/#conf-file-command-line-mapping
下面讲述的是如何在单机上部署我们的测试分片集群(采用配置文件方式):
1.配置说明
组件名
IP
端口
备注
configserver
127.0.0.1
27001
最先启动,副本集单成员形式
shard1
127.0.0.1
27003
第二启动,副本集单成员形式
shard2
127.0.0.1
27005
第三启动,副本集单成员形式
mongos
127.0.0.1
27007
最后启动
2.创建对应的文件夹:
mkdir -p /home/hongxin/mongodb/conf
mkdir -p /home/hongxin/mongodb/mongos/log
mkdir -p /home/hongxin/mongodb/config/data
mkdir -p /home/hongxin/mongodb/config/log
mkdir -p /home/hongxin/mongodb/shard1/data
mkdir -p /home/hongxin/mongodb/shard1/log
mkdir -p /home/hongxin/mongodb/shard2/data
mkdir -p /home/hongxin/mongodb/shard2/log3.新建config server 副本集
注:本次为了测试,该副本集只包含一个成员,实际生产环境应至少有三个成员)
配置文件说明
从MongoDB2.6开始,配置文件开始采用YAML的格式(YAML支持空格,不支持Tab)
配置参数说明: https://docs.mongodb.com/manual/reference/configuration-options/
新建config.conf文件
运行并初始化
4.新建shard副本集
shard的创建方式与config server大同小异
新建shard1.conf文件
创建连接及初始化
shard2 的创建与上面类似
注: shard 副本集的名字与 config server的名字不能一样!
5.新建mongos
新建 mongos.conf
注意 mongos.conf 没有存储选项
创建连接及初始化
至此,单机分片集群已搭建完毕
测试
后期运维
mongodb的启动顺序是,先启动配置服务器,在启动分片,最后启动mongos.
mongod -f /usr/local/mongodb/conf/config.conf mongod -f /usr/local/mongodb/conf/shard1.conf mongod -f /usr/local/mongodb/conf/shard2.conf mongod -f /usr/local/mongodb/conf/shard3.conf mongod -f /usr/local/mongodb/conf/mongos.conf
关闭时,直接killall杀掉所有进程 killall mongod killall mongos
参考: https://docs.mongodb.com/manual/tutorial/deploy-shard-cluster/index.html http://www.ityouknow.com/mongodb/2017/08/05/mongodb-cluster-setup.html
Last updated
Was this helpful?