mongodb 分片集群设置

########对某个集合数据做分片#############

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})


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/28211342/viewspace-2213174/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/28211342/viewspace-2213174/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值