Health API testing

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 Minio

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)

Custom build

./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