我有一台 Debian 10 服务器,有 200Gb 的磁盘空间和 32Gb 的 RAM。
该服务器托管两个带有nginx MySQL PHP堆栈的网站。每个网站使用不同版本的 Elasticsearch (6.1.4
文档的数量和所需的磁盘空间相对较小:
$ curl http://localhost:9721/_cat/indices?v
health status index uuid pri rep docs.count docs.deleted store.size pri.store.size
yellow open xxxxxxxx_xxxxxx_prod_documents-en_us_2022-06-08-082626 eRNQbX8bS1uQGM-jSIM9-Q 1 1 157364 20 10.3mb 10.3mb
yellow close xxxxxxxx_xxxxxx_prod_documents-en_us_2022-06-07-163138 UA-ZpoLIQZSmId8beIFPMQ 1 1
yellow open xxxxxxxx_xxxxxx_prod_documents-fr_fr_2022-06-08-082803 eCO2D3VoRlac1MOUVJTkmA 1 1 157364 4672 20.8mb 20.8mb
yellow close xxxxxxxx_xxxxxx_prod_documents-fr_fr_2022-06-07-163316 tlim20SmTzy8pPouPC_ngA 1 1
$ curl http://localhost:9200/_cat/indices?v
health status index uuid pri rep docs.count docs.deleted store.size pri.store.size
yellow open xxxxxxxx_quote_option_taxons_preprod Ns95mRp0Ty-h3f6Y75NQoA 5 1 0 0 1.2kb 1.2kb
yellow open xxxxxxxx_quote_full_text_prod QBSA2OWoSx2OkBPkWnBoWw 5 1 108174 45 23.6mb 23.6mb
yellow open xxxxxxxx_quote_full_text_preprod l4tlrIidSe26JMg2ZGf0NA 5 1 107780 0 24.5mb 24.5mb
yellow open xx_xxxxxxxx_shop_full_text_prod a_g7ihFzTpWqqykaiBvriQ 5 1 1710 30 1.3mb 1.3mb
yellow open xx_xxxxxxxx_shop_product_prod d3vtuMGiQGKFibUAUTsARg 5 1 1710 78 1.1mb 1.1mb
yellow open xxxxxxxx_xxxxxx_shop_product_preprod YGIbbUtFRRyl2nHcViLgBw 5 1 0 0 1.2kb 1.2kb
yellow open xxxxxxxx_quote_product_prod T1u9YMtnSomBKCKP6pN6uA 5 1 108244 82 23.2mb 23.2mb
yellow open xxxxxxxx_quote_product_preprod whf6uxXmTJawURA9qAhHTw 5 1 107780 0 23.1mb 23.1mb
yellow open xxxxxxxx_quote_attribute_taxons_prod DvWW2SxnTCq530scIM4VBQ 5 1 0 0 1.2kb 1.2kb
yellow open xx_xxxxxxxx_attribute_taxons_prod WMLW-iKBQ9CFeVFyxt6Vrw 5 1 21 0 25.3kb 25.3kb
yellow open xx_xxxxxxxx_option_taxons_prod CA4nHrRlTH-JZvA8FqCkfQ 5 1 4 0 12.3kb 12.3kb
yellow open xxxxxxxx_quote_option_taxons_prod QrbOC8GWQOGMjfBr4xg4-Q 5 1 0 0 1.2kb 1.2kb
yellow open xxxxxxxx_quote_attribute_taxons_preprod Y3rml_gGSSeWWRiZfgX0lw 5 1 0 0 1.2kb 1.2kb
每个弹性实例的堆大小配置为 1Gb :
-Xms1g
-Xmx1g
但是,在查看 RAM 使用情况时,这些 elasticsearch 实例每个都使用 9Gb 的 RAM :
$ ./sysmon.sh
PID OWNER MEMORY COMMAND
23883 elastic+ 9149420K /bin/java
28790 xxxxxxxx 9116236K /var/www/elasticsearch-7.2.1/jdk/bin/java
问题是此服务器经常耗尽 RAM 并开始交换。在查看交换使用情况时,elasticsearch 似乎是占用大部分资金的:
$ for file in /proc/*/status ; do awk '/VmSwap|Name/{printf $2 " " $3}END{ print ""}' $file; done | sort -k 2 -n -r | head -n 1
java 317076 kB
什么可以解释弹性搜索的这种内存使用?有没有办法将其减小到与它处理的数据大小更一致的大小?
您应该检查 Elasticsearch 中的bootstrap.memory_lock
设置是否设置为 true,如官方和本博客中所述,您应该将其设置为 false
。如果没有,请尝试将其更改为 false
,看看它是否仍然需要相同数量的 RAM。
这是我的kafka连接器属性 这是我用来创建Elasticsearch水槽的POST主体 我遇到的问题是,有时这个接收器会工作并将数据发送到Elasticsearch并显示 〔2020-09-15 20:27:05904〕INFO WorkerLinkTask{id=test-distributed-connector-0}使用序列号1异步提交偏移。。。。。。。 但大多数时候,它只会卡住并重复这一
我使用Elasticsearch允许用户输入要搜索的术语。例如,我要搜索以下属性'name': 如果使用以下代码搜索或,我希望返回此文档。 我尝试过做一个bool must和做多个术语,但它似乎只有在整个字符串都匹配的情况下才起作用。 所以我真正想做的是,这个词是否以任何顺序包含两个词。 有人能帮我走上正轨吗?我已经在这上面砸了一段时间了。
当我执行ps-aef grep elasticsearch HeapDumpOnOutOfMemoryError时看到了这一点 501 373 47 1 0 2:29pm ttys004 0:04.14/usr/bin/Java-xms4g-xmx4g-xss256k-djava.awt.headless=true-xx:+useparnewgc-xx:+useparnewgc-xx:+usepa
我从ElasticSearch得到以下错误。 我在Ubuntu上运行Elasticsearch 1.7.2。 我做错了什么?
关于如何打开缓存有什么建议吗?
我有以下格式的弹性搜索文档 } } 我的要求是,当我搜索特定字符串(string.string)时,我只想获得该字符串的FileOffSet(string.FileOffSet)。我该怎么做? 谢谢
AWS文档明确了以下内容:Java进程限制 Amazon ES将Java进程限制为32 GB的堆大小。高级用户可以指定用于字段数据的堆的百分比。有关更多信息,请参见配置高级选项和JVM OutOfMemoryError。 弹性搜索实例类型的内存跨度最大可达500GB--所以我的问题(作为一个Java/JVM业余爱好者)是ElasticSearch运行了多少个Java进程?我假设一个500GB的El
很抱歉,但是ES的文档(http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/index.html)让我感到困惑。 多亏了术语表,我理解了数据库、表和行的术语,但我阅读了文档的大部分部分,但我找不到答案: 为什么需要在索引创建中添加和?我确实在这里查看了http://www.elasticsearch.org/g