3.四分片集群种类之二,3.5分片集群种类之二

本条连串大约想跟大家享受以下篇章:

以此连串差不多想跟我们大快朵颐以下篇章:

1、mongo
3.陆分片集群种类之一:浅谈分片集群

1、mongo
3.五分片集群种类之一:浅谈分片集群

2、mongo
3.四分片集群连串之二:搭建分片集群–哈希分片

2、mongo
3.6分片集群类别之二:搭建分片集群–哈希分片

3、mongo 3.陆分片集群体系之三:搭建分片集群–哈希分片 +
安全

3、mongo 3.陆分片集群体系之三:搭建分片集群–哈希分片 +
安全

4、mongo 3.6分片集群连串之四:搭建分片集群–哈希分片 + 安全 +
区域

4、mongo 3.五分片集群体系之四:搭建分片集群–哈希分片 + 安全 +
区域

5、mongo
3.五分片集群体系之五:详解平衡器

5、mongo
3.四分片集群种类之五:详解平衡器

6、mongo
3.五分片集群种类之六:详解配置数据库

6、mongo
3.五分片集群连串之六:详解配置数据库

7、mongo
3.5分片集群种类之七:配置数据库管理

7、mongo
3.5分片集群类别之七:配置数据库管理

8、mongo
3.6分片集群连串之八:分片管理

8、mongo
3.5分片集群体系之八:分片管理

 

 

这一篇也是实践篇。

这一篇也是实践篇。

1、        不难介绍区域

1、        简短介绍区域

区域,一句话来说,正是将3个或多少个分片划分为一组,也等于二个区域,那么标记为该区域的多少在平衡的集群中,只会储存在该区域内的分片中。

区域,简单来讲,便是将贰个或多少个分片划分为一组,也正是3个区域,那么标记为该区域的多寡在平衡的集群中,只会储存在该区域内的分片中。

举个例证(借用官网的例证表达):

举个例证(借用官网的例证表达):

概念区域前的架构

概念区域前的架构

分片集群安插近年来由八个分片组成。

分片集群布置方今由八个分片组成。

   图片 1

   图片 2

概念区域后的架构

概念区域后的架构

基于必要,定义五个区域“recent”和“archive”,区域“recent”由shard1和shard2组成,区域“archive”由shard3组合

依据要求,定义四个区域“recent”和“archive”,区域“recent”由shard1和shard2组成,区域“archive”由shard3重组

   图片 3

   图片 4

至于区域和分片键的片段验证:

有关区域和分片键的一些认证:

外省覆盖贰个或四个分片键值范围。区域覆盖的每一种范围三番五次包括其下面际,而不包涵下面界。

各个地区覆盖一个或七个分片键值范围。区域覆盖的种种范围延续包括其下面际,而不包蕴上面界。

区域无法共享范围,也无法拥有重叠的范围。

区域无法共享范围,也无法具备重叠的限量。

当定义要覆盖的区域的新范围时,必须采用分片键中包涵的字段。假如利用复合分片键,则范围必须包蕴分片键的前缀。

当定义要遮盖的区域的新范围时,必须使用分片键中含有的字段。假使利用复合分片键,则范围必须包涵分片键的前缀。

2、        本篇分片集群的架构

2、        本篇分片集群的架构

主机

主机

分片

分片

分片名称

分片名称

区域

区域

 

 

192.168.209.155

192.168.209.155

mongo_shard3

mongo_shard3

shard0002

shard0002

notGsxt

notGsxt

mongo_shard1

mongo_shard1

shard0000

shard0000

 

 

isGsxt

isGsxt

mongo_shard2

mongo_shard2

shard0001

shard0001

192.168.209.156

192.168.209.156

mongo_shard4

mongo_shard4

shard0003

shard0003

由二个主机组成,当中主机192.168.209.155提供三个分片,分片名称分别为mongo_shard1,mongo_shard2,mongo_shard3。主机192.168.209.156供1分片,为mongo_shard4。主机192.168.209.155的mongo_shard1,mongo_shard2,和主机192.168.209.156的mongo_shard4构成区域isGsxt,主机192.168.209.155的mongo_shard2构成区域notGsxt。(配置服务器和路由都在192.168.209.155上)

由2个主机组成,个中主机192.168.209.155提供二个分片,分片名称分别为mongo_shard1,mongo_shard2,mongo_shard3。主机192.168.209.156供1分片,为mongo_shard4。主机192.168.209.155的mongo_shard1,mongo_shard2,和主机192.168.209.156的mongo_shard4结缘区域isGsxt,主机192.168.209.155的mongo_shard2构成区域notGsxt。(配置服务器和路由都在192.168.209.155上)

3、        具体操作步骤

3、        具体操作步骤

本篇文章是认为已经搭建了哈希分片+安全的,有关怎么着搭建哈希分片+安全的集群,请参见上一篇小说:mongo
3.6分片集群类别之三:搭建分片集群–哈希分片 +
安全

本篇小说是认为已经搭建了哈希分片+安全的,有关怎么着搭建哈希分片+安全的集群,请参见上一篇文章:mongo
3.四分片集群体系之三:搭建分片集群–哈希分片 +
安全

以下步骤,除了第(1)步,别的的步子,都在主机192.168.209.155上操作

以下步骤,除了第(1)步,别的的步调,都在主机192.168.209.155上操作

1)    先是,搭建三个5个哈希分片的集群

1)    率先,搭建3个陆个哈希分片的集群

  有关怎么着搭建哈希分片+安全的集群,请参考上一篇文章:mongo
3.5分片集群连串之三:搭建分片集群–哈希分片 +
安全

  有关怎么样搭建哈希分片+安全的集群,请参考上一篇作品:mongo
3.陆分片集群种类之三:搭建分片集群–哈希分片 +
安全

2)    剥夺平衡器

2)    剥夺平衡器

为了降低质量影响,能够禁止使用集群上的平衡器。

为了降低质量影响,能够禁止使用集群上的平衡器。

在主机192.168.209.155上,连接受三个mongos实例

在主机192.168.209.155上,连接受3个mongos实例

# mongo –port 6666 -u bear -p bear –authenticationDatabase
admin           

# mongo –port 6666 -u bear -p bear –authenticationDatabase
admin           

use admin;

use admin;

sh.stopBalancer();

sh.stopBalancer();

   图片 5

   图片 6

3)    将各样分片添加到适合的区域

3)    将各类分片添加到适当的区域

翻开集群内分片的名称

查阅集群内分片的名号

sh.status();

sh.status();

   图片 7

   图片 8

主机192.168.209.155的mongo_shard1,mongo_shard2,和主机192.168.209.156的mongo_shard4结缘区域isGsxt。

主机192.168.209.155的mongo_shard1,mongo_shard2,和主机192.168.209.156的mongo_shard4重组区域isGsxt。

sh.addShardTag(shard0000,”isGsxt”);

sh.addShardTag(shard0000,”isGsxt”);

sh.addShardTag(shard0001,”isGsxt”);

sh.addShardTag(shard0001,”isGsxt”);

sh.addShardTag(shard0003,”isGsxt”);

sh.addShardTag(shard0003,”isGsxt”);

主机192.168.209.155的mongo_shard2构成区域notGsxt。

主机192.168.209.155的mongo_shard2构成区域notGsxt。

sh.addShardTag(shard0002,”notGsxt”);

sh.addShardTag(shard0002,”notGsxt”);

4)    概念每个地方的限制

4)    概念每个地区的限定

用集合上的分片键定义区域限定,对于每一种集合都要实践此操作,此操作是以聚集为单位,而不是整个数据库。集合必须是已分片的集合。

用集合上的分片键定义区域限量,对于每一种集合都要举行此操作,此操作是以聚众为单位,而不是任何数据库。集合必须是已分片的联谊。

举个例子,gsxt数据库的gansu_test1集合,当中分片键为Name字段。将其定义到isGsxt区域中。

举个例证,gsxt数据库的gansu_test1集合,当中分片键为Name字段。将其定义到isGsxt区域中。

sh.addTagRange(

sh.addTagRange(

  “gsxt.gansu_test1”,

  “gsxt.gansu_test1”,

{“Name”:MinKey},

{“Name”:MinKey},

{“Name”:MaxKey},

{“Name”:MaxKey},

“isGsxt”

“isGsxt”

)

)

 

 

5)    启用平衡器

5)    启用平衡器

sh.startBalancer();

sh.startBalancer();

6)    肯定更改

6)    承认更改

sh.status();

sh.status();

     图片 9

     图片 10

7)    测试

7)    测试

  能够尝试往gsxt.gansu_test1集合中插入数据,然后在用sh.status(),查看数据的块分布处境。

  能够尝尝往gsxt.gansu_test1集合中插入数据,然后在用sh.status(),查看数据的块分布意况。

 

 

————————————— over

如上资料,超越六分之三是参考官网的素材,在此表示感激。

https://docs.mongodb.com/manual/core/zone-sharding/

————————————— over

如上资料,超越53%是参考官网的素材,在此表示感激。

https://docs.mongodb.com/manual/core/zone-sharding/

相关文章