Skip to content

Instantly share code, notes, and snippets.

@miguelangelgonzalez
Last active May 3, 2017 02:53
Show Gist options
  • Save miguelangelgonzalez/78ae7d2cd9590a864d3192b1336a6aeb to your computer and use it in GitHub Desktop.
Save miguelangelgonzalez/78ae7d2cd9590a864d3192b1336a6aeb to your computer and use it in GitHub Desktop.
How to run a elasticsearch cluster with docker swarm

How to run a elasticsearch cluster with docker swarm

docker-machine env node-1 | Invoke-Expression

docker run -d --name portainer -p 9000:9000 -v "/var/run/docker.sock:/var/run/docker.sock" portainer/portainer

docker network create --driver overlay elk

docker service create --name util --network elk --mode global alpine sleep 1000000000 docker service ps util

docker service create --name escluster --mount type=bind,source=/tmp,target=/data --mode global --constraint 'node.labels.com.db.name==elasticsearch' --network elk --endpoint-mode dnsrr -e ES_JAVA_OPTS="-Xms512m -Xmx512m" elasticsearch:5.3.0 -E cluster.name=home -E network.host=0.0.0.0 -E discovery.zen.ping.unicast.hosts=escluster -E discovery.zen.minimum_master_nodes=1

docker service ps escluster docker service inspect escluster

docker service create -p 5601:5601 --name kibana --constraint 'node.role==manager' --network elk -e ELASTICSEARCH_URL=http://escluster:9200 kibana:5.3

docker-machine ssh node-2

ID=$(docker ps -q --filter label=com.docker.swarm.service.name=util)

docker exec -it $ID apk add --update drill docker exec -it $ID drill escluster

docker exec -it $ID apk add --update curl docker exec -it $ID curl http://escluster:9200/_cluster/health?pretty docker exec -it $ID curl http://escluster:9200/_cat/nodes?v

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment