Stefano Giacone
Stefano Giacone

Reputation: 2153

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

Upvotes: 6

Views: 5242

Answers (2)

Stefano Giacone
Stefano Giacone

Reputation: 2153

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.

Upvotes: 6

Kulasangar
Kulasangar

Reputation: 9464

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!

Upvotes: 1

Related Questions