mongo 3.4分片集群体系之一:浅谈分片集群

以此种类大约想跟我们大快朵颐以下篇章:

那篇为理论篇,稍后会有实践篇。

1、mongo
3.4分片集群体系之一:浅谈分片集群

其一种类大概想跟大家享受以下篇章:

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

1、mongo
3.4分片集群体系之一:浅谈分片集群

3、mongo 3.4分片集群连串之三:搭建分片集群–哈希分片 +
安全

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

4、mongo 3.4分片集群种类之四:搭建分片集群–哈希分片 + 安全 +
区域

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

5、mongo
3.4分片集群连串之五:详解平衡器

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

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

5、mongo
3.4分片集群连串之五:详解平衡器

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

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

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

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

 

8、mongo
3.4分片集群种类之八:分片管理

 

 

那篇为实践篇。

1、分片集群是个吗玩意儿

那篇紧要描述怎样复制一个布局服务器,替换一个布署服务器。

要应对这么些标题,首先得清楚它是由哪些东东结成的。

1、使用安排数据库要清楚的事

MongoDB分片集群由以下组件组成:

若果布署服务器副本集变为只读,即没有主成员,则分片集群不可以支撑更改集群元数据的操作,例如块拆分和迁移。尽管无法拆分或迁移块,但应用程序可以将数据写入分片集群。

  • mongos:mongos作为查询路由器,提供客户端应用程序和分片集群之间的接口。
  • 安顿服务器:配置服务器存储集群的元数据和安排音讯。从MongoDB
    3.4伊始,配置服务器必须配备为副本集(CSRS)。
  • 分片:每个分片蕴含分片数据的一片段。每个分片可以配备为副本集。

2、复制一个安顿服务器的步子

   图片 1

证实:副本集名称是“mongo_config”,现在副本集有八个分子,mongo_config1(192.168.209.155:6000)(主成员),mongo_config2(192.168.209.155:6001),mongo_config3(192.168.209.155:6002)。

MongoDB基于集合级其他数目分片,将集结数据分布在集群的分片上。

当今参预要用mongo_config4(192.168.209.155:6003),替换mongo_config3(192.168.209.155:6001)

2、 为何要用分片集群(分片的功利)

1)      为布局服务器创立文件夹,并布置配置文件

  分片是一种在多台机器上囤积数据的法子。MongoDB使用分片来支撑所有极度大的数据集和高吞吐量操作的配备。

#mkdir –p /mongo_config4/data

1)工作负荷

#mkdir –p /mongo_config4/log

  MongoDB将读写工作负荷分布在分片集群的 分片上,从而允许每个分片处理集群操作的一个子集。通过添加越多的分片,可以在集群之间水平地缩放读取和写入的工作负荷。

#vim  /mongo_config4/mongo_config4_secure.conf

2)存储容量

配备文件内容如下:

  分片用来囤积数据,当数码集增大,能够透过添加分片来伸张分片集群的容量。由此,理论上,分片集群的容量可以极其水平扩张。

   图片 2

3)高可用

末段两行是本人在mongo 3.4分片集群体系之三:搭建分片集群–哈希分片 +
安全

加的其中安全评释,所以要加。如果没有加内部平安认证,则可以去掉末了两行

  分片集群可以继续执行部分读/写操作,固然一个或多少个分片不可用。即使在停机时期不能够访问不可用的分片上的数据子集,可是可用分片上的读取或写入依旧可以成功。

2)      启动替换配置服务器。

3、分片集群要知道的名词(分片键,块)

# mongod --fork --config /mongo_config4/mongo_config4_secure.conf

1)分片键

3)      将新的布署服务器添加到副本集。

  分片键就是由集合中每个文档中留存的字段或不足变字段组成。

连接到安排服务器副本集的主成员

  分片键的机能:MongoDB 使用分片键对聚集进行分片。

# mongo –port 6000 –u bear –p bear –authenticationDatabase admin

  注意:分片后的分片键的选项不可能改变,也就是说字段不可以改变为其它字段,并且字段的值不可能改改。分片集合只好有一个分片键。

用rs.add()添加新成员。

  要分开非空集合,集合必须怀有 以分片键早先的目录。对于空集合,如果集合尚未持有指定分片键的适龄索引,则MongoDB将开创索引。

rs.add("192.168.209.155:6003")

  分片键的抉择会潜移默化分片集群的属性,效能和可增加性。

下一场,就等候系统将所有数据从布局服务器副本集的一个成员复制到新成员,那一个历程可以不另行开动。

2)块

mongos 实例会自动识别配置服务器副本集成员的更动,而不用重新起动。

MongoDB将分片数据分割成块。基于分片键,每个块都有一个涵盖下限,但不分包上限的限定。

4)      关闭成员以替换。

MongoDB使用分片集群平衡器在分片集群的分片之间迁移块。平衡器试图完结在群集中的富有分片的块均匀分布。

注意:假诺更换主成员,请先降级主成员,然后再关闭。

4、分片前考虑事项

连接到mongo_config3

  为保险集群品质和频率,必须认真考虑采用分片键。分片后您不可以更改分片键,也不可能裁撤集合分片。借使查询含蓄分片键或复合分片键的前缀 ,则mongos执行广播操作,查询分片集群中的所有分片。那可能须求长日子运作的操作。

# mongo –port 6002 –u bear –p bear –authenticationDatabase admin

分片具有自然的操作要求和限制。

闭馆该成员

1)在分片中不可用的操作

use admin;

  不起功用:group, db.eval(), $where不容许引用db对象,$isolated,
$snapshot, geoSearch命令。

db.shutdownServer();

2)在分片中单个文档的修改操作

exit

  所有的updateOne(),removeOne()以及deleteOne()用于分片集合操作必须概括分片键 _id在查询字段中。否则,会重临一个荒谬。

5)      从布局服务器副本集中删除要替换的积极分子。

3)分片集合的唯一索引

在成功替换配置服务器的上马同步后,连接受主成员

  MongoDB不协助分片上的绝无仅有索引,除非唯一索引包涵完整的分片键作为目录的前缀。在那些情况下,MongoDB将强制执行完整键的唯一性,而不是单个字段。

# mongo –port 6000 –u bear –p bear –authenticationDatabase admin

  即可以有唯一索引,但以此唯一索引必须包罗分片键的一体。

动用rs.remove()删除旧成员。

5、分片策略

rs.remove(“192.168.209.155:6002”)

MongoDB辅助二种分片策略,哈希分片和范围分片。

mongos 实例会自动识别配置服务器副本集成员的改观,而不用重新起动。

1) 哈希分片

6)      如有须要,请更新mongos配置或DNS记录。

  哈希分片,Mongo自动总计分片键字段值的哈希值。然后,基于哈希的分片键值为每个块分配一个限量。

下次重新启动时,更新 mongos配置文件,将旧配置数据库的主机端口更改为新的主机端口。

  当使用哈希索引解析查询时,Mongo会自动测算哈希值。应用程序亟需总计哈希值。

 

     图片 3

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

以上资料,半数以上是参考官网的材料,在此表示感谢。

  https://docs.mongodb.com/manual/tutorial/replace-config-server/

       示例是用“X”
作为分片键,采纳哈希分片策略,它们的哈希值可能不在同一块,基于哈希值有助于更均匀的数据分布,越发是在分片键单调变化的数目集中。

2)范围分片

范围分片,基于分片键值将数据划分为限量。每个块被分配基于所述分片键值的限定内。

   图片 4

值为“X”的分片键的限量更或者存储在相同的块上。那允许目的操作,因为mongos可以将操作路由到仅包括所需数据的分片。

3)哈希分片 VS 范围分片

加以使用单调递增值的联谊,X作为分片键,使用范围分片可以获取近似于以下内容的插入分布:

   图片 5

鉴于X的值总是在增多,所以具有上限maxKey的块接收到多数的写入。那将限量对含有此块的单个分片的插入操作,从而裁减或解除分布式写入在分片集群中的优势。

通过应用哈希索引,X作为分片键,插入的遍布类似于以下内容:

   图片 6

由于数量现在更均匀地分布,所以插入在全部集群中卓有成效地遍布。

 

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

以上资料,半数以上是参照官网的材料,在此表示感谢。

https://docs.mongodb.com/manual/sharding/

 

Post Author: admin

发表评论

电子邮件地址不会被公开。 必填项已用*标注