Elasticsearch 6.4 в Docker Swarm: запрошена блокировка памяти для процессаasticsearch, но память не заблокирована - PullRequest
0 голосов
/ 17 октября 2018

Я пытаюсь запустить Elasticsearch в Docker Swarm.Это мой файл docker-compose:

version: '3'
services:
  elasticsearch:
    image: docker.elastic.co/elasticsearch/elasticsearch:6.4.2
    networks:
      - swarm_network
    ports:
      - "9200:9200"
    environment:
      - cluster.name=docker-cluster
      - bootstrap.memory_lock=true
      - xpack.security.enabled=false
      - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
    ulimits:
      memlock:
        soft: -1
        hard: -1
    deploy:
      mode: replicated
      replicas: 1
      resources:
        limits:
          memory: 1000M

Я получил эту ошибку: ОШИБКА: [1] проверка начальной загрузки не удалась [1]: запрошена блокировка памяти для процессаasticsearch, но память не заблокирована

Кто-нибудь знает, почему эта ошибка и как ее решить?

Ответы [ 2 ]

0 голосов
/ 04 февраля 2019

Настройка LimitMEMLOCK=infinity для модуля docker.service отлично работает для меня (docker 18.06.1-ce работает на сервере Ubuntu 1804)

(кредиты: zzswang на https://github.com/FusionAuth/fusionauth-containers/issues/1)

echo -e "[Service]\nLimitMEMLOCK=infinity" | SYSTEMD_EDITOR=tee systemctl edit docker.service

systemctl daemon-reload

systemctl restart docker
0 голосов
/ 17 октября 2018

Вы правильно установили ulimits, но я думаю, что это привилегированная операция, поэтому вам нужно, чтобы Docker запустил ее как привилегированный.

https://github.com/deviantony/docker-elk/issues/243

попробуйте это (я необязательно проверьте синтаксис)

version: '3'
services:
  elasticsearch:
    image: docker.elastic.co/elasticsearch/elasticsearch:6.4.2
    networks:
      - swarm_network
    privileged: true
    ports:
      - "9200:9200"
    environment:
      - cluster.name=docker-cluster
      - bootstrap.memory_lock=true
      - xpack.security.enabled=false
      - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
    ulimits:
      memlock:
        soft: -1
        hard: -1
    deploy:
      mode: replicated
      replicas: 1
      resources:
        limits:
          memory: 1000M
...