3 node cluster , 2 data nodes and 1 master with a snapshot repository available. Security disabled. Custom plain text logger. elasticsearch1 - master , port 9201 elasticsearch2 - data_hot/content , port 9200 elasticsearch3 - data_warm/content, port 9202
Access Key:
AKIAIOSFODNN7EXAMPLE
Secret Key:
wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
Find the internal IP address of the minio host and set it up as repository
docker inspect -f '{{range.NetworkSettings.Networks}}{{.IPAddress}}{{end}}' minio
PUT _snapshot/my_minio_repository
{
"type": "s3",
"settings": {
"bucket": "test",
"endpoint": "172.26.0.4:9000",
"protocol" : "http"
}
}
console (use found IP): http://172.29.0.2:9000/login (use access/secret key as password ... todo: update to MINIO_ROOT_USER and MINIO_ROOT_PASSWORD)
./gradlew :distribution:docker:assemble
docker images | grep elasticsearch
Update docker-compose.yml
with the desired versions
Run
docker-compose up
Ensure all 3 are running and in the same cluster:
curl localhost:9200/_cat/nodes?v
Optional: In docker-compose.yml
uncomment Kibana and point it to the desired host.
To change a nodes configuration (including upgrading version)
docker-compose up -d --no-deps elasticsearch[1|2|3]
To stop/start the master node
docker-compose stop elasticsearch1
docker-compose start elasticsearch1