Elasticsearch

The following steps will take you through setting up elasticsearch on an EC2 instance.

Launch the EC2 instance and ssh in so the following can be installed:

docker

sudo yum install docker -y

docker-compose

curl -L https://github.com/docker/compose/releases/download/1.22.0/docker-compose-\`uname -s\` - \`uname -m\` -o /usr/local/bin/docker-compose chmod +x /usr/local/bin/docker-compose sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose

more info: https://github.com/docker/compose/releases

vm.max_map_count

set permanantly in /etc/sysctl.conf by adding the following line: vm.max_map_count=262144

more info: https://www.elastic.co/guide/en/elasticsearch/reference/current/docker.html

python 3.6

sudo yum install python36 -y

The machine now needs to be rebooted sudo reboot now

Docker

the docker-compose.yml needs to include ulimits settings::
ulimits:
memlock:
soft: -1 hard: -1
nofile:
soft: 65536 hard: 65536

Recipes for http or https clusters can be found in: nesta/core/scripts/elasticsearch

There is also an EC2 AMI for a http node stored in the London region: elasticsearch node London vX

Reindexing data from a remote cluster