mongodb 006——分片集群其它操作

6.1 Range分片配置及测试(生产不常用)

 test库下的vast大表进行手工切片

6.1.1 激活数据库分片功能

mongo  --port  38017  admin

admin> db.runCommand( { enablesharding : "数据库名称" } )

eg:

admin> db.runCommand( { enablesharding : "test" } )

6.1.2 指定分片建对集合分片

eg:范围片建
–创建索引

use  test
> db.vast.ensureIndex( { id: 1 } )

–开启分片

use admin
> db.runCommand( { shardcollection : "test.vast",key : {id: 1} } )

6.1.3 集合分片验证

admin> use test

test> for(i=1;i<500000;i++){ db.vast.insert({"id":1,"name":"shenzheng","age":70,"date":new Date()}); }

test> db.vast.stats()

6.1.4 分片结果测试

shard1:

mongo  --port  38021
db.vast.count();

shard2:

mongo  --port  38024
db.vast.count();

6.2 Hash分片测试(生产常用)

Hash分片例子:
 对oldboy库下的vast大表进行hash

创建哈希索引:

6.2.1 开启分片功能

mongo  --port  38017  admin
use admin
admin> db.runCommand( { enablesharding : "oldboy" } )

6.2.2 对于oldboy库下的vast表建立hash索引

use oldboy
oldboy> db.vast.ensureIndex( { id: "hashed" } )

6.2.3 开启分片

use admin
admin> sh.shardCollection( "oldboy.vast",{id: "hashed" } )

6.2.4 录入数据测试

use oldboy
> for(i=1;i<500000;i++){ db.vast.insert({"id":1,"name":"shenzheng","age":70,"date":new Date()}); }

6.2.5 hash分片结果测试

mongo --port  38021
use oldboy
db.vast.count();
mongo --port  38024
use oldboy
db.vast.count();

6.3 判断是否shard集群

admin> db.runCommand({ isdbgrid : 1})

6.4 列出所有分片信息

admin> db.runCommand({ listshards : 1})

6.5 列出开启分片的数据库

admin> use config

config> db.database.find( { "partitioned": true} )
或者:
config> db.database.find()

6.6 查看分片的片健

config> db.collections.find().pretty()

6.7 查看分片的详细信息

admin>db.printShardingStatus()
或者
admin>db.status()           

6.8 删除分片节点(谨慎)

(1)确认blance是否在工作

sh.getBalancerState()

(2)删除shard2节点(谨慎)

mongos> db.runCommand( { removeShard: "shard2" } )

 注意:删除操作一定会立即出发balancer。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值