- Testovací cluster pro ověření fungování replikace v rámci ES
- V rámci docker-compose se vytvoří 5 nodů a je přidána pro testování ES.
- Pokud nemá PC dostatek RAM, je nutné ještě ponížit JVM memory v rámci docker-compose, alternativně paměť zvednout.
- Jednotlivé nody jsou pak dostupné na lokálních portech:
- 9200
- 9201
- 9202
- 9203
- 9204
- Jako primární node je označen es-node1 (lze upravit na více primárních node, dle potřeby).
- Nody lze taktéž přidávat jednoduše vytvořením nového kontaineru pro docker v
docker-compose.yml
- Zde uvádím příklad výstupu z docker PS, pokud jsou všechny dockery živé a funkční:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
a89d4a374c43 docker.elastic.co/kibana/kibana:8.16.2 "/bin/tini -- /usr/l…" About an hour ago Up About an hour 0.0.0.0:5601->5601/tcp kibana
7ce81e5d6d65 elastic/elasticsearch:8.17.0 "/bin/tini -- /usr/l…" 2 hours ago Up About an hour 0.0.0.0:9204->9200/tcp, 0.0.0.0:9304->9300/tcp es-node5
b3904e12ce3b elastic/elasticsearch:8.17.0 "/bin/tini -- /usr/l…" 2 hours ago Up About an hour 0.0.0.0:9203->9200/tcp, 0.0.0.0:9303->9300/tcp es-node4
5900650d1abf elastic/elasticsearch:8.17.0 "/bin/tini -- /usr/l…" 2 hours ago Up About an hour 0.0.0.0:9200->9200/tcp, 0.0.0.0:9300->9300/tcp es-node1
9f6906d0f99c elastic/elasticsearch:8.17.0 "/bin/tini -- /usr/l…" 2 hours ago Up About an hour 0.0.0.0:9201->9200/tcp, 0.0.0.0:9301->9300/tcp es-node2
ff60e3715116 elastic/elasticsearch:8.17.0 "/bin/tini -- /usr/l…" 2 hours ago Up About an hour 0.0.0.0:9202->9200/tcp, 0.0.0.0:9302->9300/tcp es-node3
- Data se vkládají pomocí BULK operace skrz následující příklad:
curl -X POST "http://localhost:9200/_bulk"
-H "Content-Type: application/json"
--data-binary @test_index_bulk_data.json
Získání dat z node pomocí CURL:
curl -X GET "http://localhost:9200/test-index/_search?pretty"
-H "Content-Type: application/json" -d'
{
"_source": ["company"],
"query": {
"match_all": {}
}
}'
- Příkazem:
curl -X GET "http://localhost:9200/_cluster/health?pretty"
- Ověření, které nody jsou živé pak lze provést pomocí:
curl -X GET "http://localhost:9203/_cat/nodes?v"
- Příkaz je následován například výstupem, kde jsou uvedeny všechny dostupné nody, včetně jejich IP adres a názvů:
ip heap.percent ram.percent cpu load_1m load_5m load_15m node.role master name
172.19.0.7 61 99 2 3.93 3.71 3.62 cdfhilmrstw - es-node2
172.19.0.3 44 99 2 3.93 3.71 3.62 cdfhilmrstw - es-node1
172.19.0.5 43 99 2 3.93 3.71 3.62 cdfhilmrstw * es-node5
172.19.0.6 57 99 2 3.93 3.71 3.62 cdfhilmrstw - es-node3
172.19.0.4 40 99 2 3.93 3.71 3.62 cdfhilmrstw - es-node4