设为首页 加入收藏

TOP

MongoDB集群架构之分片架构(四)
2018-10-23 00:06:06 】 浏览:841
Tags:MongoDB 集群 架构 分片
hard" : 3 }


{ "_id" : ObjectId("5bb23444f116ff2bb6014824"), "name" : "a", "shard" : 4 }


{ "_id" : ObjectId("5bb2344af116ff2bb6014826"), "name" : "a", "shard" : 6 }


{ "_id" : ObjectId("5bb23419f116ff2bb6014821"), "name" : "a", "shard" : 1 }


{ "_id" : ObjectId("5bb23448f116ff2bb6014825"), "name" : "a", "shard" : 5 }


分别通过mongo客户端直接向三个分片服务器节点查询,可以看到三个节点上各自有一部分数据。


[root@coe2coe route]# mongo --quiet --port=27017


> use test


switched to db test


> db.t2.find();


{ "_id" : ObjectId("5bb2344af116ff2bb6014826"), "name" : "a", "shard" : 6 }


[root@coe2coe route]# mongo --quiet --port=27018


> use test


switched to db test


> db.t2.find();


{ "_id" : ObjectId("5bb2341df116ff2bb6014822"), "name" : "a", "shard" : 2 }


{ "_id" : ObjectId("5bb2341ff116ff2bb6014823"), "name" : "a", "shard" : 3 }


{ "_id" : ObjectId("5bb23444f116ff2bb6014824"), "name" : "a", "shard" : 4 }


[root@coe2coe route]# mongo --quiet --port=27019


> use test


switched to db test


> db.t2.find();


{ "_id" : ObjectId("5bb23419f116ff2bb6014821"), "name" : "a", "shard" : 1 }


{ "_id" : ObjectId("5bb23448f116ff2bb6014825"), "name" : "a", "shard" : 5 }


至此哈希分片功能已经实现。


5.标签分片


对t3集合进行标签分片,分片字段为shard。


先添加几个标签。


mongos> use config


switched to db config


mongos> db.shards.find();


{ "_id" : "shard0000", "host" : "11.1.1.11:27017", "state" : 1 }


{ "_id" : "shard0001", "host" : "11.1.1.11:27018", "state" : 1 }


{ "_id" : "shard0002", "host" : "11.1.1.11:27019", "state" : 1 }


mongos> sh.addShardTag("shard0000","tag1");


{


"ok" : 1,


"operationTime" : Timestamp(1538405808, 1),


"$clusterTime" : {


"clusterTime" : Timestamp(1538405808, 1),


"signature" : {


"hash" : BinData(0,"AAAAAAAAAAAAAAAAAAAAAAAAAAA="),


"keyId" : NumberLong(0)


}


}


}


mongos> sh.addShardTag("shard0001","tag2");


{


"ok" : 1,


"operationTime" : Timestamp(1538405813, 1),


"$clusterTime" : {


"clusterTime" : Timestamp(1538405813, 1),


"signature" : {


"hash" : BinData(0,"AAAAAAAAAAAAAAAAAAAAAAAAAAA="),


"keyId" : NumberLong(0)


}


}


}


mongos> sh.addShardTag("shard0002","tag3");


{


"ok" : 1,


"operationTime" : Timestamp(1538405817, 2),


"$clusterTime" : {


"clusterTime" : Timestamp(1538405817, 2),


"signature" : {


"hash" : BinData(0,"AAAAAAAAAAAAAAAAAAAAAAAAAAA="),


"keyId" : NumberLong(0)


}


}


}


为t3集合的shard字段设置标签。


shard值小于100的文档分配标签tag1,100到1000的分配标签tag2,1000以上的分配tag3。


mongos> use test


switched to db t

首页 上一页 1 2 3 4 5 6 7 下一页 尾页 4/7/7
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇hql优化教程 下一篇MySQL递归查询_函数语法检查_GROU..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目