共计 1272 个字符,预计需要花费 4 分钟才能阅读完成。
自动写代码机器人,免费开通
今天就跟大家聊聊有关 mongodb 中怎么设置分片集群,可能很多人都不太了解,为了让大家更加了解,丸趣 TV 小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。
1、先 enable sharding,开启数据库的分片功能
mongos use admin
mongos db.runCommand({enablesharding : test1})
2、对具体 collection 做分片, 选择片键为 _id
mongos db.runCommand({shardcollection : test1.test1 , key :{ _id :1}})
{collectionsharded : test1.test1 , ok : 1}
3、观察 2 个分片 shard_01 shard_02 tunks 数量
########### 删除分片 ##################
1、保证均衡器是开启的
mongos use admin
mongos sh.setBalancerState(true);
或者 mongos sh.startBalancer();
2、将已分片的集合全部迁移到其他分片
use admin
db.adminCommand({removeShard : shard_name})
3、检查数据块迁移的状态,remaining 字段表示剩余数据块的数量
use admin
db.runCommand({ removeShard: shard_name} )
===============##### 删除未分片的数据库 #######============
1、查看未分片的数据库
use config
db.databases.find({$or:[{ partitioned :false},{primary : shard_name}]})
2、修改数据库的主分片
db.runCommand({ movePrimary: db_name , to: new_shard})
=========########## 刷新 mongos 的配置缓存 ###########==========
强制 mongos 从 config server 同步配置信息,并刷新缓存
use admin
db.adminCommand({flushRouterConfig: 1})
===============oplog 做每天自动日志轮动 ========================
1、在配置文件中添加参数
logpath=/data/shard_01/mongodb.log
logappend=true
2、设置定时任务
0 0 * * * /bin/kill -SIGUSR1 `cat /data/shard_01/mongodb.log`
mongodb 3.6 以上版本 可以在线修改 oplog 大小
use local
db.adminCommand({replSetResizeOplog: 1, size: 100000})
看完上述内容,你们对 mongodb 中怎么设置分片集群有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注丸趣 TV 行业资讯频道,感谢大家的支持。
向 AI 问一下细节