Będąc w lokalizacji powyższego pliku docker-compose.yml należy wywołać:
docker compose up |
Trzeba ustawić flagę w experimental.properties:
elasticProcessSearch=true |
Dodać plik w katalogu domowym w configu: elastic.properties o zawartości:
elastic.hostname=localhost elastic.port=9200 elastic.username=elastic elastic.password=elastic #Opcjonalne elastic.environment= elastic.protocol= |
Opcjonalnie można podać parametr elastic.protocol, który określa, czy komunikacja z usługą Elasticsearch powinna odbywać się po HTTPS, czy HTTP (W zależności od ustawień serwera). Podajemy w nim wartość https lub http. W przypadku braku parametru, komunikacja odbywa się domyślnie po HTTP.
Jeżeli komunikacja z Elasticsearch odbywa się po HTTPS, to należy uzupełnić parametr elastic.protocol wartością https. |
Kontener elastica należy zaktualizować przy użyciu polecenia:
docker compose up |
Spróbować zwiększyć limit przepustowości w Kibanie z poziomu zakładki Management -> Dev Tools wywołując (domyślnie jest to 20mb):
PUT /_cluster/settings { "persistent" : { "indices.store.throttle.max_bytes_per_sec" : "100mb" } } |
Na czas indeksowania można też dokonać następującej zmiany:
PUT /_cluster/settings { "transient" : { "indices.store.throttle.type" : "none" } } |
Po skończonym indeksowaniu należy ustawić wartość "merge" tym samym poleceniem.
Przy pierwszym uruchomieniu Kibany trzeba ustawić patterny dla indeksów (process* dla procesów i activity* dla zadań).
Management -> Stack Management -> IndexManagement
zaznaczyć wszystko (Include rollup indices i Include hidden indices muszą być odznaczone) i wybrać delete indices. Następnie trzeba przeindeksować wszystkie dokumenty zadaniem zaplanowanym.
W przypadku wystąpienia błędu:
Validation Failed: 1: this action would add [2] shards, but this cluster currently has [1000]/[1000] maximum normal shards open; |
Należy zwiększyć maksymalny limit aktywnych shard'ów z poziomu zakładki Management -> Dev Tools wywołując:
PUT /_cluster/settings { "persistent" : { "cluster.max_shards_per_node": "2000" } } |
Usuwanie wiele indeksów na raz
UWAGA. Usuwanie wielu indeksów bez znajomości składni może skutkować usunięciem nadmiarowej ilości danych. |
Domyślnie opcja usuwania wielu niejednoznacznych indeksów jest wyłączona.
Aby móc korzystać z takiej opcji należy wywołać:
PUT /_cluster/settings { "transient": { "action.destructive_requires_name":false } } |
Przykłady:
Usuwanie indeksów z prefixem activity:
DELETE /activity* |
Usuwanie wszystkich indeksów (ukryte indeksy nie zostaną usunięte):
DELETE _all |
Usuwanie kontenerów - Będąc w lokalizacji pliku docker-compose.yml należy wywołać:
docker compose down |
Jeżeli chcemy również usunąć wolumen ze wszystkimi danymi wywołujemy z opcją -v
docker compose down -v |
Jeżeli chcemy utworzyć kontenery bez wyświetlania logów, dodajemy komendę -d
docker compose up -d |
Aby wyświetlić status kontenerów należy wykonać:
docker stats |
Jeśli wystąpi poniższy błąd podczas eksportu wyników wyszukiwania do pliku:
java.io.IOException: entity content is too long [356732089] for the configured buffer limit [104857600] |
to należy zmniejszyć wartość parametru systemowego PackSizeInAdvanceSearchExport.
Błąd ten oznacza, że request przesyłany do Elastica jest za duży (domyślnie jest to 100 MB). Istnieje możliwość zwiększenia tego limitu po stronie Elastica (bez zmniejszania parametru systemowego), jednak jest to niezalecane.
Limit można zwiększyć w pliku docker-compose.yml w sekcji elasticsearch -> environment, dodając linijkę:
"http.max_content_length": "200mb" |
z odpowiednią wartością rozmiaru request'a. Kontener elastica należy zaktualizować przy użyciu polecenia:
docker compose up |