我正在尝试将非自定义单节点elasticsearch:7.8.1停靠容器部署到AWS ECS Fargate。
在我的本地,我只是执行了:
docker run -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" docker.elastic.co/elasticsearch/elasticsearch:7.8.1它为我开发了ES容器,我的应用程序使用了这个容器。我想在云中拥有相同的容器。
我该怎么做呢?
更新:I能够将ES部署到Fargate,但在试图使用错误消息访问它时失败了:
ERROR: [3] bootstrap checks failed
[1]: max file descriptors [4096] for elasticsearch process is too low, increase to at least [65535]
[2]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
[3]: the default discovery settings are unsuitable for production use; at least one of [discovery.seed_hosts, discovery.seed_providers, cluster.initial_master_nodes] must be configured在简短的single搜索之后,我发现这个职位通过打开单节点模式解决了问题。我不太明白我怎么能打开它在法尔盖特,它是在任务定义还是如何?
另一个问题是,在AWS中运行ES的最常见方式是什么?在EC2或AWS服务中?我的目标是尽快在水下安装。我有.net核心应用程序运行在码头使用弹性搜索。
发布于 2020-11-03 00:55:28
回答最新的评论。不,您只需从文件注册中心(如Docker Hub )提供公共Elasticsearch图像地址,就可以在您的Docker-compose.yml文件中提供给AWS Fargate。例:image: docker.elastic.co/elasticsearch/elasticsearch:7.7.0。
发布于 2022-02-10 11:42:00
您可以通过设置ulimits来解决第一个问题--我在Terraform中使用任务定义:
ulimits = [
{
name = "nofile"
softLimit = 65535
hardLimit = 65535
}]对于vm.max_map_count,可以通过将ES_SETTING_NODE_STORE_ALLOW__MMAP设置为false来禁用检查。
https://stackoverflow.com/questions/63408818
复制相似问题