gpt4 book ai didi

elasticsearch - AWS Fargate 上的 Elasticsearch

转载 作者:行者123 更新时间:2023-11-29 02:56:00 25 4
gpt4 key购买 nike

在 AWS Fargate 上部署 Elasticsearch 时遇到问题

完成了以下步骤:

自定义我的 docker 镜像并推送到 AWS ECR。我的 Elasticsearch 服务的任务定义

Elasticsearch 服务在启动时失败,以下是异常(exception)情况[3]: max virtual memory areas vm.max_map_count [65530] 太低,至少增加到 [262144]

它是 es 5.0 以后的已知 es 问题。 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

最佳答案

看起来你不能那样做。

让我解释一下:

Docker 实际上包装了一个进程并使用安装在主机机器上的内核运行它。

改变“vm.max_map_count”实际上是配置主机的Linux内核

当主机在您的控制之下时,例如当您使用 EC2 时,您可以通过在启动配置 上应用“用户数据”来配置主机的内核。 (参见:https://docs.aws.amazon.com/AmazonECS/latest/developerguide/bootstrap_container_instance.html)

但是在主机不受您控制的情况下,例如 Fargate,您无法更改主机及其运行的内核设置。 Fargate 的整体理念是运行无状态 Docker 镜像,这些镜像不会对它们在其中运行的主机做出任何假设。

但是,在 Elasticsearch 中,应用程序本身取决于特定的主机配置(“vm.max_map_count”设置),这意味着它确实对其主机做出了假设,因此它无法在 < em>通用主机,例如 Fargate(除非您禁用此检查,这对生产环境来说不是一个好主意)。

关于elasticsearch - AWS Fargate 上的 Elasticsearch ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53002952/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com