elasticsearch忽略我的jvm堆大小设置

vyswwuz2  于 2021-06-10  发布在  ElasticSearch
关注(0)|答案(3)|浏览(462)

我在linux(ubuntu)的docker容器中运行elasticsearch。我有很多 circuit_breaking_exception 问题,引用486.3mb的限制;所以我决定将jvm堆的大小提高一点。我的机器有6gb的物理内存,所以对于堆大小来说,3gb应该是安全的。
所以我去换了个背景 jvm.options . 默认值为:

-Xms1g 
-Xmx1g

所以我把它改成:

-Xms2g 
-Xmx2g

现在有一个转折点:不仅我一直得到同样的结果 circuit_breaking_exception 具有相同的大小限制; echo $ES_JAVA_OPTS 退货 -Xmx512m -Xms512m . 这甚至不是默认设置。我也尝试过保留默认值 jvm.options 创造一个新的世界 user.options 内部 jvm.options.d ,结果相同。我错过什么了吗?我做错什么了吗?

oxosxuxt

oxosxuxt1#

如使用docker的es的正式安装所示,您可以将其作为env变量传递

version: '2.2'
services:
  es01:
    image: docker.elastic.co/elasticsearch/elasticsearch:7.9.2
    container_name: es01
    environment: -> it comes under environment section, removed other settings for brevity
      - "ES_JAVA_OPTS=-Xms512m -Xmx512m" --> note this

更改后需要重新启动docker容器 ES_JAVA_OPTS 环境变量值

7jmck4yq

7jmck4yq2#

根据文档,在docker环境中,必须在docker-compose.yml中设置它
https://www.elastic.co/guide/en/elasticsearch/reference/current/docker.html#docker-编写文件

bweufnob

bweufnob3#

可以使用env var将此设置传递给容器 ES_JAVA_OPTS .

docker run -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -e "ES_JAVA_OPTS=-Xms2g -Xmx2g" docker.elastic.co/elasticsearch/elasticsearch:7.9.2

相关问题