docker-compose 错误:引导程序检查失败 | max > 虚拟内存区域 vm.max_map_count [65530] 太低,增加到 > 至少 [262144]

6 memory-management elasticsearch docker docker-compose

我收到此错误:

es01 | {"type": "server", "timestamp": "2019-09-18T17:31:42,267+0000", "level": "INFO", "component": "oenNode", "cluster.name": " docker-cluster", "node.name": "es01", "message": "starting ..." } es01 | {"type": "server", "timestamp": "2019-09-18T17:31:42,709+0000", "level": "INFO", "component": "oetTransportService", "cluster.name": " docker-cluster", "node.name": "es01", "message": "publish_address {172.21.0.3:9300}, bound_addresses {0.0.0.0:9300}" } es01 | {“类型”:“服务器”,“时间戳”:“

重要的错误:

错误:[1] 引导程序检查失败 es01 | [1]:最大虚拟内存区域 vm.max_map_count [65530] 太低,增加到至少 [262144]

然后节点因上述错误而停止:

es01 | {"type": "server", "timestamp": "2019-09-18T17:31:42,810+0000", "level": "INFO", "component": "oenNode", "cluster.name": " docker-cluster", "node.name": "es01", "message": "stopping ..." } es01 | {"type": "server", "timestamp": "2019-09-18T17:31:42,904+0000", "level": "INFO", "component": "oenNode", "cluster.name": " docker-cluster", "node.name": "es01", "message": "stopped" } es01 | {"type": "server", "timestamp": "2019-09-18T17:31:42,905+0000", "level": "INFO", "

我的 docker-compose.yml 文件如下:

version: '2.2'
services:
  kibana:
    depends_on:
      - es01
      - es02
    image: docker.elastic.co/kibana/kibana:7.3.1
    container_name: kibana
    ports:
      - 5601:5601
    environment:
      ELASTICSEARCH_HOSTS: http://es01:9200
      ELASTICSEARCH_URL: http://es01:9200
  es01:
    image: docker.elastic.co/elasticsearch/elasticsearch:7.3.1
    container_name: es01
    environment:
      - node.name=es01
      - discovery.seed_hosts=es02
      - cluster.initial_master_nodes=es01,es02
      - cluster.name=docker-cluster
      - bootstrap.memory_lock=true
      - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
    ulimits:
      memlock:
        soft: -1
        hard: -1
    volumes:
      - esdata01:/usr/share/elasticsearch/data
    ports:
      - 9200:9200
      - 9300:9300
  es02:
    image: docker.elastic.co/elasticsearch/elasticsearch:7.3.1
    container_name: es02
    environment:
      - node.name=es02
      - discovery.seed_hosts=es01
      - cluster.initial_master_nodes=es01,es02
      - cluster.name=docker-cluster
      - bootstrap.memory_lock=true
      - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
    ulimits:
      memlock:
        soft: -1
        hard: -1
    volumes:
      - esdata02:/usr/share/elasticsearch/data

volumes:
  esdata01:
    driver: local
  esdata02:
    driver: local
Run Code Online (Sandbox Code Playgroud)

有谁知道如何增加集群的内存并修复错误?

小智 15

看起来解决方案是使用:https : //github.com/docker-library/elasticsearch/issues/111

这建议在 ubuntu 上运行它:

sudo sysctl -w vm.max_map_count=262144
Run Code Online (Sandbox Code Playgroud)


mch*_*wre 12

如果您密切关注官方 Elasticsearch Docker文档

您需要在此处设置vm.max_map_count检查。

  • 谢谢!我认为文档应该早点提到这一点。正如第 6.1 节中首次提到的那样,按照第 3 节中的说明进行操作时可能会出现问题。 (2认同)