分享好友 最新动态首页 最新动态分类 切换频道
es 内存优化配置 es内存配置多大合适
2024-12-26 13:13


es 内存优化配置 es内存配置多大合适

前言

本篇主要聊聊ES生产环境的一些规划,以及ES的集群搭建。

  • 固态硬盘(SSD) 提供最佳“热”工作负载的性能。
  • 普通磁盘(HDD) 成本低,用于“暖”和“冷”数据存储。

注意:RAID0 可以提高性能。RAID 是可选的,因为 Elastic 默认为 N + 1 分片复制策略。

为了追求硬件级别的高可用性,可以接受标准性能的 RAID 配置(例如 RA1/10/50 等)。不建议,副本机制已经保证了高可用

1.2.1 JVM Heap

存储有关集群索引、分片、段和 fielddata 数据。

建议:可用 RAM 的 50%,最多最大 30GB RAM,以避免垃圾回收。

官方文档最大指 32 GB:

https://www.elastic.co/guide/en/elasticsearch/guide/master/heap-sizing.html

1.2.2 操作系统缓存

Elasticsearch 将使用剩余的可用内存来缓存数据(Lucene 使用), 通过避免在全文检索、文档聚合和排序环节的磁盘读取,极大地提高了性能。

大多数 Elasticsearch 部署往往对 CPU 要求不高。因此,相对其它资源,具体配置多少个(CPU)不是那么关键。你应该选择具有多个内核的现代处理器,常见的集群使用两到八个核的机器。

如果你要在更快的 CPUs 和更多的核心之间选择,选择更多的核心更好。多个内核提供的额外并发远胜过稍微快一点点的时钟频率。

快速可靠的网络显然对分布式系统的性能是很重要的。 低延时能帮助确保节点间能容易的通讯,大带宽能帮助分片移动和恢复。现代数据中心网络(1 GbE, 10 GbE)对绝大多数集群都是足够的。

即使数据中心们近在咫尺,也要避免集群跨越多个数据中心。绝对要避免集群跨越大的地理距离。

Elasticsearch 假定所有节点都是平等的—并不会因为有一半的节点在150ms 外的另一数据中心而有所不同。更大的延时会加重分布式系统中的问题而且使得调试和排错更困难。

和 NAS 的争论类似,每个人都声称他们的数据中心间的线路都是健壮和低延时的。这是真的—直到它不是时(网络失败终究是会发生的,你可以相信它)。 从我们的经验来看,处理跨数据中心集群的麻烦事是根本不值得的。

容量规划——预估集群中每个节点的分片数、内存及存储资源。

吞吐量规划——以预期的延迟和吞吐量估算处理预期操作所需的内存,计算和网络资源。

1.5.1 数据量预估

第一,问自己几个问题:

  • 您每天将索引多少原始数据(GB)?
  • 您将保留数据多少天?
  • 每天增量数据是多少?
  • 您将强制执行多少个副本分片?
  • 您将为每个数据节点分配多少内存?
  • 您的内存:数据比率是多少?

第二,预留存储以备错误。(Elastic 官方推荐经验值)

  • 预留 15%警戒磁盘水位空间。
  • 为错误余量和后台活动预留+ 5%。
  • 保留等效的数据节点以处理故障。

第三,容量预估计算方法如下:

  • 总数据量(GB) = 原始数据量(GB) /每天 X 保留天数 X 净膨胀系数 X (副本 + 1)
  • 磁盘存储(GB) = 总数据量(GB)* ( 1 + 0.15 + 0.05)
  • 数据节点 = 向上取整(磁盘存储(GB)/ 每个数据节点的内存量 / 内存:数据比率)+ 1

Tips:腾讯云 在 2019 4 月的 meetup 分享中建议:磁盘容量大小 = 原始数据大小 * 3.38。

1.5.2 分片预估

第一,问自己几个问题:

  • 您将创建多少索引?
  • 您将配置多少个主和副本分片?
  • 您将在什么时间间隔旋转索引?
  • 您将保留索引多长时间?
  • 您将为每个数据节点分配多少内存?

第二,经验值(Elastic 官方推荐)

  • 每 GB JVM 堆内存支持的分片数不超过 20 个。
  • 每个分片大小不要超过 50GB。推荐阅读:https://www.elastic.co/cn/blog/how-many-shards-should-i-have-in-my-elasticsearch-cluster

Tips:

  • 将小的每日索引整合为每周或每月的索引,以减少分片数。
  • 将大型(> 50GB)每日索引分拆分成小时索引或增加主分片的数量。

第三,分片预估方法如下:

  1. 总分片数 = 索引个数 X 主分片数 * (副本分片数 +1)X 保留间隔
  2. 总数据节点个数 = 向上取整(总分片数 / (20 X 每个节点内存大小))

1.5.3 搜索吞吐量预估

搜索用例场景除了考虑搜索容量外,还要考虑如下目标:

  • 搜索响应时间;
  • 搜索吞吐量。

这些目标可能需要更多的内存和计算资源。

第一:问自己几个问题

  • 您期望每秒的峰值搜索量是多少?
  • 您期望平均搜索响应时间是多少毫秒?
  • 您期望的数据节点上几核 CPU,每核有多少个线程?

第二:方法论 与其确定资源将如何影响搜索速度,不如通过在计划的固定硬件上进行,可以将搜索速度作为一个常数,

然后确定集群中要处理峰值搜索吞吐量需要多少个核。

最终目标是防止线程池排队的增长速度超过了 CPU 的处理能力。

如果计算资源不足,搜索请求可能会被拒绝掉。

第三:吞吐量预估方法

  • 峰值线程数 = 向上取整(每秒峰值检索请求数 _ 每个请求的平均响应时间(毫秒)/1000)
  • 线程队列大小 = 向上取整((每个节点的物理 cpu 核数 _ 每核的线程数 * 3 / 2)+ 1)
  • 总数据节点个数 = 向上取整(峰值线程数 / 线程队列大小)

1.5.4 冷热集群架构

Elasticsearch 可以使用分片分配感知(shard allocation awareness)在特定硬件上分配分片。

索引密集型业务场景通常使用它在热节点、暖节点和冷(Frozen)节点上存储索引,

然后根据业务需要进行数据迁移(热节点->暖节点->冷节点),以完成数据的删除和存档需要。

这是优化集群性能的最经济方法之一,在容量规划期间,先确定每一类节点的数据规模,然后进行组合。

冷热集群架构推荐:

1.5.5 集群节点角色划分

Elasticsearch 节点执行一个或多个角色。通常,当集群规模大时,每个节点分配一个具体角色很有意义。

您可以针对每个角色优化硬件,并防止节点争夺资源。

主要是两步,1:创建配置文件参考官网提供,2:运行实例获取证书

2.3.1 elasticsearch.yml

  • network.host 设置允许其他ip访问,解除ip绑定
  • xpack.security 则是安全相关配置,其中ssl的证书需要自己生成

2.3.2 生成elastic-certificates.p12(证书)

es提供了生成证书的工具,我们可以在docker实例中生成它,然后复制出来,后面统一使用

2.8.1忘记密码怎么办?

可以进入机器去修改

2.8.2 kibana 登录失败报403?

最新文章
8998元抢先上手空间计算,不用等苹果了
明敏 发自 凹非寺,量子位 | 公众号 Qbit想体验今年大火的空间计算,不用等苹果了。喏,手指一捏,空间搜索马上开启,各类内容一下子在眼前铺开。只需转转头,就能看到更多内容。眼睛聚焦在哪个卡片上,都能被选中突出。通过语音即可输入搜
24年排列5第331期[胆王鸿运]P5万位杀号原创
331期胆王鸿运体彩排列5万位杀码:167 开:330期胆王鸿运体彩排列5万位杀码:039 开:81136[万位:8]329期胆王鸿运体彩排列5万位杀码:015 开:14780[万位:1]328期胆王鸿运体彩排列5万位杀码:457 开:12504[万位:1]327期胆王鸿运体彩排列5万位杀码:
### 一键智能写作工具:新闻稿与文章生成器快速生成原创新闻内容
在数字化时代内容创作面临着前所未有的挑战和机遇。新闻工作者和内容创作者常常需要高效地生产大量原创内容而传统的写作形式耗时耗力。这时一键智能写作工具的出现无疑为新闻稿与文章创作带来了革命性的变革。这类工具不仅可以快速生成原创
Android 跳转到外部链接
以下是实现 Android 跳转到外部链接的步骤概览:步骤操作第一步在 AndroidManifest.xml 文件中添加访问外部链接的权限第二步在 AndroidManifest.xml 文件中添加一个 intent-filter第三步在代码中使用 Intent 启动外部链接现在让我们逐步解
12月12日:豆包AI、四足机器人、文化体制改革等概念股梳理
来源:雪球App,作者: 夏歌有话说,(https://xueqiu.com/1951692341/316425123)一、昨夜发酵消息精选。1、豆包AI: 多重催化共振,豆包字节概念掀涨停潮。12月10日,字节跳动视频生成模型PixelDance已在豆包电脑版正式开启内测,部分用
DB31_T 1492-2024 智能物联 城市智联平台数据接口技术要求.docx
ICS35.240CCSL7931上海市地方标准DB31/T1492—2024智能物联城市智联平台数据接口技术要求IntelligentIoT—Technicalrequirementsofdatainterfaceforurbandigitalserviceplatform2024-07-05发布2024-11-01实施上海市市场监督管理局发布IDB31
10个python爬虫入门基础代码实例 + 1个简单的python爬虫完整实例
本文主要涉及python爬虫知识点:web是如何交互的requests库的get、post函数的应用response对象的相关函数,属性python文件的打开,保存代码中给出了注释,并且可以直接运行哦如何安装requests库(安装好python的朋友可以直接参考,没有的,建
365优化大师手机版介绍
365优化大师app正规的手机系统清理工具,你可以通过软件来扫描你的手机垃圾,并且可以直接一键清理,非常的方便哦,还能够帮你整理大文件,清理手机系统缓存,保障用户的手机运行流畅,同时增加手机的使用寿命!365优化大师是一款手机清理
30多在淘宝源头档口买的弹力裤头牛仔裤
大家是不是都以为淘宝上卖的衣服的货源都是来自1688,其实只有一部分而已,当年老婆在广州上班,她的闺蜜就是在做淘宝店的,她告诉老婆其实她们拿货的话,一般都是在沙河档口拿,还有就是在她们做淘宝才知道的,叫做17货源网,那里还支持一
相关文章
推荐文章
发表评论
0评