AWS容器服务:设置max_map_count

时间:2017-01-22 15:45:10

标签: amazon-web-services elasticsearch docker

我正在尝试在AWS容器服务上运行Elasticsearch。这里是我关注的文档:https://www.elastic.co/guide/en/elasticsearch/reference/current/docker.html#docker-cli-run-prod-mode

  

应永久设置vm_map_max_count设置   /etc/sysctl.conf中:

     

$ grep vm.max_map_count /etc/sysctl.conf

     

vm.max_map_count = 262144

     

要在实时系统类型上应用该设置:sysctl -w   vm.max_map_count = 262144

有没有办法通过脚本设置vm.max_map_count?我每次运行新容器时都不想手动执行此操作。

由于

2 个答案:

答案 0 :(得分:4)

我找到了解决方案:

  1. 创建一个空容器
  2. 在上一个容器中启动EC2:http://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_container_instance.html
  3. 添加用户数据(http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/user-data.html),如下所示:
  4. #!/bin/bash
    echo vm.max_map_count=262144 >> /etc/sysctl.conf
    sysctl -w vm.max_map_count=262144
    

    现在EC2实例已正确配置。

答案 1 :(得分:1)

你仍然可以按照你在Q中提到的那样在 /etc/sysctl.conf 中永久设置它。它不起作用吗?

根据此ticket,您可以按照以下方式进行设置:

  

sysctl -qw vm.max_map_count = 65535

希望它有所帮助!