Эластичный поиск на AWS Fargate - PullRequest
0 голосов
/ 26 октября 2018

Столкновение с проблемой при развертывании эластичного поиска на AWS Fargate

Выполнены следующие шаги:

настроил мой образ докера и отправил в AWS ECR. определение задачи для моего сервисаasticsearch

служба эластичного поиска завершается неудачно при начальной загрузке. Следующее исключение [3]: максимальное количество областей виртуальной памяти vm.max_map_count [65530] слишком мало, увеличьте по крайней мере до [262144]

известная проблема es для es 5.0 и выше. Решение, предоставленное es, выглядит следующим образом sysctl -w vm.max_map_count = 262144

https://www.elastic.co/guide/en/elasticsearch/reference/current/docker.html#docker-cli-run-prod-mode

возможно ли применить эту команду на AWS Fargate, поскольку у нас нет доступа к хосту?

Обновление : в Elastic Search предусмотрена возможность избежать проверки mmaps при загрузке, но еще не выпущено на данный момент

https://github.com/elastic/elasticsearch/pull/32421

https://discuss.elastic.co/t/elk-on-aws-fargate/153967/4

1 Ответ

0 голосов
/ 17 декабря 2018

Похоже, вы не можете этого сделать.

Позвольте мне объяснить:

Docker фактически оборачивает процесс и запускает его, используя ядро, установленное на машине host .

Изменение "vm.max_map_count" на самом деле настройка ядра Linux хост-машины .

Когда хост-компьютер находится под вашим контролем, например, когда вы используете EC2, вы можете настроитьядро хост-машины, применив «пользовательские данные» к вашей Launch Configuration .(См .: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/bootstrap_container_instance.html)

Но если хост-машина не находится под вашим контролем, как в случае с Fargate, вы не можете изменить хост и настройки ядра, на которых он работает. Вся идея Fargate заключается в запуске без сохранения состояния образы Docker, изображения, которые не делают никаких предположений о хосте, на котором они работают.

Однако в Elasticsearch само приложение зависит от отдельной конфигурации хоста («vm.max_map_count»)настройки), что означает, что действительно делает предположения о своем хосте и, следовательно, он не может работать на универсальном хосте, таком как Fargate (если вы не отключите эту проверку, что не является хорошей идеей дляпроизводственная среда.)

...