当前位置: 首页 > 面试题库 >

Elasticsearch 1.5.2部署问题

吕向荣
2023-03-14
问题内容

我具有以下规格的ES 1.5.2集群:

  • 3个节点,RAM:32GB,CPU内核:每个8
  • 282个总指数
  • 总分片2,564
  • 799,505,935总文档
  • 总数据767.84GB
  • ES_HEAP_SIZE = 16克

问题是当我使用Kibana来查询某事(非常简单的查询)时,如果它是单个查询,就可以正常工作,但是如果我继续查询更多的东西-
弹性变得非常缓慢,最终由于JVM堆而卡住了(来自Marvel)的使用率达到87-95%。当我尝试加载一些Kibana仪表板时,也会发生这种情况,这种情况的唯一解决方案是在所有节点上
重新启动 服务。

(这在带有Kibana 4的ES 2.2.0,1节点上也发生)

怎么了,我想念什么?我想少查询吗?

编辑:

我不得不提到,我有很多空索引(0个文档),但是分片被计算在内。之所以这样,是因为我在4w的文档上设置了ttl,并且空索引将被策展人删除。

此外,我们尚未在1.5.2或2.2.0群集中禁用doc_values。准确的规格如下(1.5.2):

  • 3个节点,RAM:32GB,CPU内核:每个8
  • 282总指数= 227空+ 31奇迹+ 1基巴纳+ 23数据
  • 2,564总分片=(1135空+ 31奇迹+ 1基巴纳+ 115数据)* 1个副本
  • 799,505,935总文档
  • 总数据767.84GB
  • ES_HEAP_SIZE = 16克

curl _cat / fielddata?v结果:

1.5.2:

 total os.cpu.usage primaries.indexing.index_total total.fielddata.memory_size_in_bytes jvm.mem.heap_used_percent jvm.gc.collectors.young.collection_time_in_millis primaries.docs.count device.imei fs.total.available_in_bytes os.load_average.1m index.raw @timestamp node.ip_port.raw fs.total.disk_io_op node.name jvm.mem.heap_used_in_bytes jvm.gc.collectors.old.collection_time_in_millis total.merges.total_size_in_bytes jvm.gc.collectors.young.collection_count jvm.gc.collectors.old.collection_count total.search.query_total 
 2.1gb        1.2mb                          3.5mb                                3.4mb                     1.1mb                                                0b                3.5mb       2.1gb                       1.9mb              1.8mb     3.6mb      3.6mb            1.7mb               1.9mb     1.7mb                      1.6mb                                           1.5mb                            3.5mb                                    1.5mb                                  1.5mb                    3.2mb 
 1.9gb        1.2mb                          3.4mb                                3.3mb                     1.1mb                                             1.5mb                3.5mb       1.9gb                       1.9mb              1.8mb     3.5mb      3.6mb            1.7mb               1.9mb     1.7mb                      1.5mb                                           1.5mb                            3.4mb                                       0b                                  1.5mb                    3.2mb 
   2gb           0b                             0b                                   0b                        0b                                                0b                   0b         2gb                          0b                 0b        0b         0b               0b                  0b        0b                         0b                                              0b                               0b                                       0b                                     0b                       0b

2.2.0:

  total index_stats.index node.id node_stats.node_id buildNum endTime location.timestamp userActivity.time startTime   time shard.state shard.node indoorOutdoor.time shard.index dataThroughput.downloadSpeed 
176.2mb                0b      0b                 0b     232b 213.5kb            518.8kb           479.7kb    45.5mb 80.1mb       1.4kb       920b            348.7kb       2.5kb                       49.1mb

问题答案:
  • 删除空索引
  • 对于1.5群集,堆的主要用途是用于字段数据-每个节点大约9.5GB,过滤器缓存大约1.2GB,段文件的元数据大约1.7GB
    • 即使你有一个片段在你的模板,使stringS作为not_analyzed,在1.5但这并不意味着ES会使用doc_values,你需要明确启用它们。
    • 如果doc_values现在在1.5.x群集中启用,则更改将对新索引生效。对于旧索引,您需要重新索引数据。或者,如果您有基于时间的索引(每天,每周等创建),则只需要等待新索引的创建和旧索引的删除即可。
    • 直到doc_values将会在1.5群集中的索引中占主导地位,在注释中建议的@Val是唯一的选择:限制字段​​数据缓存大小或将更多节点添加到群集中(并暗含更多内存)或增加节点上的RAM 。或不时手动清除字段数据缓存 ;-)。
  • 与内存问题不完全相关,但 请避免使用ttl 。如果您不再需要任何数据,只需删除索引,而不依赖ttl,这比简单地删除索引要昂贵得多。使用ttlcreate可能会在搜索时引起问题,并影响群集的整体性能,因为它会从索引中删除文档,这意味着需要进行大量更新并与这些索引进行大量合并。由于您可能具有基于时间的索引(这意味着昨天的数据并没有真正改变),因此使用ttl会对数据进行不必要的操作,这些操作原本应该是静态的(并且可以进行优化)。


 类似资料:
  • 我正在Windows 8.1 64位上开发JavaFX8应用程序,带有4GB内存,使用的是运行JDK 8u25 64位版本的Netbeans 8.0.2。 应用平台是JDK版本8u25 32位,问题是当我构建项目时,应用程序运行正常,但当我做本机打包时,我可以为应用程序提供32位JRE和exe文件。 “由于配置问题,已跳过捆绑程序Windows应用程序映像:FX SDK和JRE运行时之间的位体系结

  • 我已经部署了一个新版本的Lightswitch应用程序。该应用程序在我们的组织中有6个用户。所有6个用户都安装了以前的版本,并且工作正常。4用户已经安装更新并使用它没有任何问题。2用户无法启动新版本。在安装过程中,他们收到以下错误详细信息: 源代码 -部署url:file://f://etl/metadataeditor/metadataeditor.Application -应用程序url:fi

  • 我正在尝试在WL12.2.1服务器中部署ear文件时得到NPE。ear在WebLogic12.1.3中部署时没有任何问题。这是错误日志。几天来一直在努力解决这个问题,但没有任何结果。知道为什么NPE来自WebLogic包吗?

  • 所以,我正在尝试部署一个。Heroku上的jar文件。当我尝试部署它时,会出现以下错误: 我不知道发生了什么,我下载了java插件,我下载了Heroku CLI插件。Idk怎么做,下面是部署命令。 heroku部署:jar C:\Users\My Name\Desktop\Tester Bot2\myfile。jar——应用程序mybotapp

  • 我在部署接口时收到以下错误 组织.xml.sax.SAXParse异常: cvc-complex-type.2.4.a: 发现无效内容以元素 'sfdc:查询-single' 开头。“{”http://www.mulesoft.org/schema/mule/core“:注释、”http://www.mulesoft.org/schema/mule/core“:抽象消息处理器、”http://ww

  • 我正在尝试使用Maven(Weblogic Maven插件)V10.3.4在Weblogic 11g服务器上部署war文件 但是我在运行mvn wls时收到以下错误:部署 在位置处找不到MW_主页。。。。。C: \ work\u maven\springmvc\Oracle\软件。您必须为Maven目标定义middlewareHome参数。 我已经在C:\bea11g上安装了weblogic 我还