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

二龙1年前技术文章426

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运维(七)添加sql插件

ES运维(七)添加sql插件

一、概述ElasticSearch安装SQL插件下载地址(中国大佬开发)二、集成sql插件1、下载es-sql插件下载地址: https://github.com/NLPchina/elastics...

ES运维(一)底层数据存储原理

ES运维(一)底层数据存储原理

1、ES底层数据存储原理架构图Segment工作流程:A、 新的文档在内存中组织B、 每隔一段时间,buffer将会被提交:生成一个新的segment(一个额外的新的倒序索引)并被写到磁盘,同时一个新...

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

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

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

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

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

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

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

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

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

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

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

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

发表评论    

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