Szkolenie z instalacji i konfiguracji ElasticSearch-20231121_100214-Nagrywanie spotkania.mp4
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 |
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. |
Dodać zadanie zaplanowane o nazwie: Indeksowanie procesów i zadań. Po jego uruchomieniu zastaną zaindeksowane wszystkie procesy i zadania.
Zadanie powinno być uruchamiane na żądanie, nie powinno być ustawione jako cykliczne. Najczęściej uruchamiamy je przy nowej instancji Elastica dla istniejącego systemu (w celu przesłania danych do Elastica), nowe dane są przesyłane na bieżąco. W przypadku wystąpienia rozbieżności w danych w Elasticu pomocne jest uruchomienie zadania. W przypadku dużych baz danych można jednak uruchamiać zadanie jako cykliczne (jest to opisane w opisie zadania). |
Szczegółowy opis w sekcji Zadania zaplanowane
Dodać zadanie zaplanowane o nazwie: Indeksowanie brakujących procesów i zadań.
Szczegółowy opis w sekcji Zadania zaplanowane
[Opcjonalnie] Dodać zadanie zaplanowane o nazwie: Usuwanie indeksów procesów i zadań.
Szczegółowy opis w sekcji Zadania zaplanowane
[Opcjonalnie] Dodać zadanie zaplanowane o nazwie: Indeksowanie wskazanych procesów i ich zadań.
Szczegółowy opis w sekcji Zadania zaplanowane
Zadanie posiada parametr "Rozmiar części", który odpowiada za dzielenie indeksowanych danych. Manipulując nim można mieć wpływ na szybkość wykonywania zadania.
Zadanie po przetworzeniu każdej z części zapisuje w parametrze zadania "ID ostatniego zaindeksowanego zadania" ID ostatniego zaindeksowanego zadania z paczki. W przypadku wystąpienia błędu podczas wykonywania zadania i po jego ponownym uruchomieniu zadanie wznowi indeksowanie od ID procesu zapisanego w parametrze. W celu zresetowania zadania, należy jako wartość parametru podać 0. Po pomyślnym wykonaniu zadania wartość parametru jest ustawiana na 0.
Zadanie posiada mechanizm powtarzania indeksowania danych w Elasticu (w przypadku np. wystąpienia problemów z połączeniem). Parametr "Ilość ponownych prób" określa ile razy będzia powtarzana próba wysłania danych do Elastica, a "Czas oczekiwania na ponowną próbę" określa czas między kolejnymi próbami.
Parametr Maksymalny czas indeksowania pozwala określić jak długo maksymalnie ma wykonywać się zadanie (w godzinach). Domyślna wartość to 96 godzin.
Parametr Usuwaj indeksy decyduje, czy przed rozpoczęciem indeksowania usunąć wszystkie indeksy (przy pierwszym uruchomieniu zadania).
Parametr Dezaktywuj po sukcesie jest pomocny w przypadku uruchamiania zadania w interwałach. Po zakończeniu indeksowania zadanie jest dezaktywowane.
Zadanie indeksuje procesy/zadania, niezaindeksowane w Elasticsearch np. z powodu problemów z połączeniem z Elasticiem. Zadanie powinno być ustawione jako cykliczne.
Zadanie sprawdza czy w tabeli pm_elastic_missing_docs są jakiekolwiek wpisy, jeśli tak to następuje próba ich ponownego zaindeksowania w Elasticsearch. Pożądanym stanem jest pusta wcześniej wspomniana tabela.
Zadanie indeksuje tylko wskazane procesy wraz z ich zadaniami poprzez podanie listy definicji procesów.
Parametr Lista definicji procesów pozwala określić listę definicji procesów do indeksowania w formacie: id_pakietu.id_definicja_zadania.
Pozostałe parametry zadania są analogiczne jak w zadaniu Indeksowanie procesów i zadań.
Jeśli usługa Elastica znajduje się w innej lokalizacji niż system Plusworkflow należy umożliwić połączenie o jak największej przepustowości pomiędzy nimi.
W przypadku używania ElasticSearch na środowisku produkcyjnym zaleca się ustawić vm.max_map_count na co najmniej 262144 sysctl -w vm.max_map_count=262144
|