ES运维(三)架构与规划(阿里云)

二龙2年前技术文章469

1、 阿里云Elasticsearch架构图

001.png

ElasticsearchKibana容器化运ECS中,监控agent(独进程)负责收集监控指标,通过SLS发送给云监控完成监控报警。实例之间由VPC实现络隔离,管控服务通过端口映射实现VPC反向接,从而管理⽤⼾Elasticsearch实例。

2、 Elasticsearch常规读写流程

002.png

A、增删改操作只能由primary shard处理

B、发送请求时客户端可以选择任意node(此节点即作为coordinate node),以为任意node都知道每个document在哪个node上。

3、 Elasticsearch节点类型图

003.png

A、 主节点数规划3个及以上

B、 数据节点根据数据量及性能要求进行规划

C、 协调节点根据请求压力规划(阿里云的协调节点一旦设置,路由请求之后从SLB分发到协调节点,不会直接访问数据节点)


4、 阿里云Elasticsearch规划

A、 磁盘容量

副本数量,1个副本。

索引开销,通常源数据10%_all 等未计算)。

操作系统预留,默认操作系统会保留5%件系统供⽤⼾处理关键流程,系统恢复,磁盘碎等。

• Elasticsearch内部开销,段合并,志等内部操作,预留20%

安全阈值,通常少预留15%的安全阈值

规划说明:

最小磁盘总 = 源数据 * 3.4

磁盘总 = 源数据 * (1 + 副本数量) * (1 + 索引开销) / (1 - Linux预留空) / (1 - Elasticsearch开销) / (1 - 安全阈值)

= 源数据 * (1 + 副本数量) * 1.7

= 源数据 * 3.4

对于_all 这项参数,如果在业务使上没有必要,我们通常的建议是禁或者有选择性的添加。

对于需要开启这个参数的索引,其开销也会随之增。根据我们的测试结果和使经验,建议在上述评估的基础上额外增加半的空间:

磁盘总 = 源数据 * (1 + 副本数) * 1.7 * (1 + 0.5)

= 源数据 * 5.1

B、 集群规格

Elasticsearch的单机规格在定程度上是限制了集群能的,根据测试结果和使经验给出如下建议。 集群最节点数 = 单节点CPU * 5
使场景不同,单节点最承载数据量也会不同,具体如下:

数据加速、查询聚合等场景 单节点最数据量 = 单节点Mem(G) * 10
志写、离线分析等场景 单节点最数据量 = 单节点Mem(G) * 50
通常情况 单节点最数据量 = 单节点Mem(G) * 30

004.png

C、 Shard大小和数量

Elasticsearch集群中任何个索引都需要有个合理的shard规划,很多情况下都会有个更好的策略来替换Elasticsearch默认的5shard7以后的版本默认1shard)。

建议在小规格节点下单shard小不要超过30GB。更规格的节点单shard小不要超过50GB。

对于志分析场景或者超索引,建议单shard小不要超过100GB

• shard的个数(包括副本)要尽可能匹配节点数,等于节点数,或者是节点数的整数倍。

通常我们建议单节点上同索引的shard个数不要超5个。

D、 产品资源

节点数量限制:250
磁盘小限制:1602048GB
规格限制:

- elasticsearch.sn2ne.xlarge416GB

- elasticsearch.sn2ne.2xlarge832GB

- elasticsearch.sn2ne.4xlarge1664GB

相关文章

ES运维(五)聚合分析流程及精准度

ES运维(五)聚合分析流程及精准度

1、 概述ES是一个近实时的搜索引擎,提供近实时海量数据的聚合分析功能,但这个海量数据聚合分析是会损失一定的精准度来满足实时性能需要的。 2、 分布式系统的近似统计算法如下图,在分布式数据分...

ES运维(六)_segment合并使用原理及场景

ES运维(六)_segment合并使用原理及场景

一、背景简介ES中,每个index(索引)都包含若干个Shard(分片),每个分片底层又是一个个Segment文件(段),每次数据的读写底层就是与一个个段文件的交互,因此ES调优常用的一块就是对段文件...

ES运维(四)扩容方式迁移

ES运维(四)扩容方式迁移

1 迁移概述本次模拟es在线迁移方式:集群扩容-->数据迁移-->老节点下线-->服务重启刷新配置。 中间master替换的时候会有短暂的不可用。 另外业务测需注意:老节点下线前...

ES运维(八)添加IK分词器

ES运维(八)添加IK分词器

一、概述ES自带standard analyzer、simple analyzer、whitespace analyzer、stop analyzer、language analyzer、patter...

ES运维(二)字段类型与内存管理

ES运维(二)字段类型与内存管理

一、ES常见字段类型1、 概述字段是数据存储的最小微粒,根据数据的性质不同将数据分成不同的字段类型,熟悉不同字段类型的特性,对索引的Mapping设计、查询调优都极其重要。2、 关键参数In...

正式发布 | 《云运维服务白皮书》开放下载!

正式发布 | 《云运维服务白皮书》开放下载!

在全球数字化变革的背景下,为适应数字经济环境下企业生存发展和市场变化的需要,企业进行主动的、系统性、整体性的数字化转型升级。大数据、云计算、人工智能、区块链等新一代信息通信技术为企业的数字化转型提供了...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。