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

二龙2年前技术文章806

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

相关文章

Hive优化之监控(四)

Hive优化之监控(四)

    Hive是大数据领域常用的组件之一,主要是大数据离线数仓的运算,关于Hive的性能调优在日常工作和面试中是经常涉及的一个点,因此掌握一些Hive调优是必...

Flinksql Kafka 接收流数据并打印到控制台

Flinksql Kafka 接收流数据并打印到控制台

本文目的使用Flink SQL创建一个流处理作业,将来自Kafka主题"dahua_picrecord"的数据写入到另一个表”print_table”控制台中。使用sql-client前 需要启动ya...

HDP-Yarn开启CPU调度和隔离

HDP-Yarn开启CPU调度和隔离

进入到ambari主界面 点击yarn 点击config CPU Scheduling and Isolation 设置为enable修改高级配置点击ADVANCED搜索需要修改的配yarn.node...

trino容器对接hudi(五)

trino容器对接hudi(五)

前提:本文是基于已经部署了trino容器的基础上进行的。冒烟测试是在trino对接ldap后并且ranger已经对接了metastore权限后,并且spark组件已经对接hudi,并且成功创建hudi...

chengying-6.0登入接口逆向

chengying-6.0登入接口逆向

版本更新首先是登入的加密url:http://172.16.121.70/login参数1. username:admin@dtstack.com2. password:614bb9438210c69...

hive执行count和spark执行count结果不一致

hive执行count和spark执行count结果不一致

【组件版本】hive on mr、spark【问题现象】hive 执行count语句,结果条数为0,spark执行count语句能正常显示count数【详细描述】hive 执行count语句:显示co...

发表评论    

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