Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

AWS container service: set max_map_count

I'm trying to run Elasticsearch on AWS container service. Here the documentation that I'm following: https://www.elastic.co/guide/en/elasticsearch/reference/current/docker.html#docker-cli-run-prod-mode

The vm_map_max_count setting should be set permanently in /etc/sysctl.conf:

$ grep vm.max_map_count /etc/sysctl.conf

vm.max_map_count=262144

To apply the setting on a live system type: sysctl -w vm.max_map_count=262144

Is there any way to set the vm.max_map_count via script? I don't want to do it manually every time I run a new container.

Thanks

like image 917
Stefano Giacone Avatar asked Jan 22 '17 15:01

Stefano Giacone


2 Answers

I found a solution:

  1. create an empty container
  2. Launch an EC2 inside the previous container: http://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_container_instance.html
  3. Add the user data (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/user-data.html) as follow:
#!/bin/bash
echo vm.max_map_count=262144 >> /etc/sysctl.conf
sysctl -w vm.max_map_count=262144

Now the EC2 instance is properly configured.

like image 111
Stefano Giacone Avatar answered Nov 12 '22 18:11

Stefano Giacone


You could still set it permanently in /etc/sysctl.conf as per you've mentioned in your Q. Didn't it work?

OR

as per this ticket you could set it up as follows:

sysctl -qw vm.max_map_count=65535

Hope it helps!

like image 24
Kulasangar Avatar answered Nov 12 '22 20:11

Kulasangar