暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

mongodb启停

原创 zhou 2024-03-12
189

一个mongodb分片集群有多种角色,该如何启动呢?对于生产环境不必经常考虑,但对于使用VM来练手环境来说是每天都必须考虑的事情。

mongodb sharding cluster有三种角色

mongodb shard (数据分片)

mongos (路由)

mongdob config(元数据)

了解到集群角色后,大概可以得到一个逻辑:

1.mongos路由是对外服务的,集群就绪后才能提供对外服务,所以路由应该最后启动

2.mongos路由是对外服务的,集群需要优雅的关闭,需要先保证没有新的连接进来,所以应该最先关闭

3.config配置服务器存储分片信息,平衡器管理chunk迁移平衡数据,所以应该优于sharding启动;晚于sharding关闭,不然config关闭了,sharding数据分布就该不一致了

启动顺序

启动config配置服务器

在node01,node02,node03上执行

mongod -f /data/mongodb/config/conf/config.conf 
启动sharding分片副本集

在node01,node02,node03上执行

mongod -f  /data/mongodb/standalone/conf/mongo.conf
mongod -f  /data/mongodb/rs02/conf/mongo.conf
mongod -f  /data/mongodb/rs03/conf/mongo.conf
启动mongos

在node01,node02上执行

mongos -f /data/mongodb/mongos/conf/mongos.conf

注:具体按自己集群的拓扑来执行.

停止顺序

关闭mongos服务器
所有节点:node01,node02
mongo --port 27000 --host 127.0.0.1
use admin
db.auth("admin","Admin@01");
db.shutdownServer()er()
关闭sharding分片副本集
先secondary再primary
#shard rs01
mongo --port 27017 --host 127.0.0.1
use admin
db.auth("rs01Admin","Admin@01");
db.shutdownServer()

#shard rs02
mongo --port 27018 --host 127.0.0.1
use admin;
db.auth("rs02Admin","Admin@01");
db.shutdownServer()

#shard rs03
mongo --port 27019 --host 127.0.0.1
use admin;
db.auth("rs03Admin","Admin@01");
db.shutdownServer()
关闭config配置服务器
先secondary再primary
mongo --port 27100 --host 127.0.0.1
use admin
db.auth("admin","Admin@01");
db.shutdownServer()

我的端口配置如下:

sharding:27017,27018,27019
mongos:27000
config:27100

注:如管理权限不够,可以clusterAdmin权限

db.grantRolesToUser("rs02Admin", [ { role:"clusterAdmin", db: "admin"} ]) 
db.grantRolesToUser("rs03Admin", [ { role:"clusterAdmin", db: "admin"} ]) 
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论