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

二龙2年前技术文章646

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、 分布式系统的近似统计算法如下图,在分布式数据分...

Trino配置yanagishima-23.0(包含编译)

Trino配置yanagishima-23.0(包含编译)

1 环境介绍1.1 本文采用trino 359yanagishima v23.02 编译yanagishima2.1 安装编译yanagishima需要的工具安装编译yanagishima需要的工具w...

haproxy服务无法正常启动

haproxy服务无法正常启动

【局点信息】测试环境【集群信息】【问题现象】haproxy设置配置文件后,无法正常启动,查看服务状态显示失败配置增加内容#增加如下配置 listen ApiApplicationServer   ...

大数据监控系列(一)——Prometheus+Grafana监控概述

大数据监控系列(一)——Prometheus+Grafana监控概述

1 概述这是介绍Prometheushe和Grafana主要是为了监控大数据产品,数栈平台也是使用Prometheushe+Grafana作为底层大数据组件的监控,并且均有配置模板,导入即在Grafa...

CDH实操--hive高可用

CDH实操--hive高可用

前言在CDH中,hive metastore、hiveserver2若角色单实例部署,或者部署多个实例但是连接配置任选其一的话,均存在单点问题,一旦实例故障就会影响业务稳定;这时我们就好考虑高可用部署...

离线安装Kerberos

首先下载kerberos客户端所需rpm包在网站https://pkgs.org/搜索以下3个rpm包:https://pkgs.org/libkadm5krb5-libskrb5-workstati...

发表评论    

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