Jak zainstalować Elasticsearch 8 na Debianie 12, 11 lub 10 Linux

Elasticsearch 8 to potężny i elastyczny silnik wyszukiwania i analiz typu open source, znany ze skalowalności, szybkości i możliwości indeksowania danych w czasie rzeczywistym. Wersja 8.x wprowadza znaczące ulepszenia, w tym ulepszone funkcje bezpieczeństwa z prostym zarządzaniem certyfikatami, wzbogaconymi możliwościami wyszukiwania tekstu i wydajniejszym wykonywaniem zapytań. Wprowadzono także natywną obsługę pól wykonawczych, ułatwiając dostosowywanie sposobu indeksowania i przeszukiwania danych bez zmiany podstawowego schematu. Te udoskonalenia sprawiają, że Elasticsearch 8.xa jest solidnym rozwiązaniem do zarządzania i analizowania dużych ilości danych.

Aby zainstalować Elasticsearch 8 na Debianie 12, 11 lub 10, możesz skorzystać z oficjalnego repozytorium APT dostarczonego przez Elasticsearch. Ten przewodnik przeprowadzi Cię przez kolejne etapy konfiguracji Elasticsearch, zapewniając dostęp do najnowszych funkcji i ulepszeń.

Zaktualizuj Debiana przed instalacją Elasticsearch

W pierwszym kroku musisz upewnić się, że Twój system Debian Linux jest zaktualizowany. Ten krok zaktualizuje całe istniejące oprogramowanie do najnowszych wersji i przygotuje system do instalacji.

Uruchom następujące polecenie, aby zaktualizować system Debian:

sudo apt update && sudo apt upgrade

Instalowanie niezbędnych pakietów

Przed zainstalowaniem Elasticsearch 8 na Debianie musimy spełnić określone wymagania wstępne. Wiąże się to z zainstalowaniem kilku wymaganych pakietów, takich jak software-properties-common, apt-transport-https i curl. Pakiety te ułatwiają zarządzanie oprogramowaniem i przesyłanie danych w sieci.

Zainstaluj niezbędne pakiety, uruchamiając następujące polecenie:

sudo apt install software-properties-common apt-transport-https curl -y

Dodaj repozytorium Elasticsearch 8 APT w Debianie

Następnie dodamy repozytorium Elasticsearch APT do naszego systemu Debian Linux. W pierwszej kolejności zaimportujemy klucz GPG dla Elasticsearch, który zapewni autentyczność instalowanego oprogramowania. Uruchom następujące polecenie, aby zaimportować klucz GPG:

curl -fSsL https://artifacts.elastic.co/GPG-KEY-elasticsearch | gpg --dearmor | sudo tee /usr/share/keyrings/elasticsearch-8.gpg > /dev/null

Następnie zaimportujmy repozytorium Elasticsearch. Umożliwi nam to zainstalowanie Elasticsearch bezpośrednio przy użyciu pliku apt menedżer pakietów:

echo "deb [signed-by=/usr/share/keyrings/elasticsearch-8.gpg] https://artifacts.elastic.co/packages/8.x/apt stable main" | sudo tee /etc/apt/sources.list.d/elasticsearch-8.list

Aktualizowanie pamięci podręcznej indeksu APT

Musimy zaktualizować indeks pakietu APT po dodaniu repozytorium Elasticsearch do naszego systemu. Dzięki temu APT będzie wiedział o nowych pakietach z nowo dodanego repozytorium. Uruchom następujące polecenie, aby zaktualizować indeks APT:

sudo apt update

Zainstaluj Elasticsearch 8 za pomocą polecenia APT

Teraz, gdy nasz system jest już przygotowany, a indeks APT zaktualizowany, możemy zainstalować Elasticsearch 8. Użyj następującego polecenia, aby zainstalować Elasticsearch:

sudo apt install elasticsearch

Uwaga: Jeśli w tym samym repozytorium Elasticsearch istnieją dwa wpisy, podczas aktualizacji apt wystąpi błąd. Jeśli natkniesz się na błąd „Zduplikowany wpis source.list”, sprawdź /etc/apt/sources.list.d/elasticsearch-8.x.list pod kątem zduplikowanego wpisu lub znajdź zduplikowany wpis wśród plików w /etc/ apt/sources.list.d/ i plik /etc/apt/sources.list.

Włącz Elasticsearch w Debianie po instalacji

Po instalacji usługa Elasticsearch jest domyślnie wyłączona podczas uruchamiania i nieaktywna. Aby włączyć usługę Elasticsearch i ustawić ją tak, aby uruchamiała się automatycznie przy rozruchu, użyj poniższych poleceń systemctl Komenda:

sudo systemctl enable elasticsearch.service --now

Skonfiguruj Elasticsearch 8

Kolejnym etapem zarządzania Elasticsearch 8 w systemie Debian Linux jest jego konfiguracja.

Zapoznanie się z domyślnymi ustawieniami Elasticsearch

W przypadku świeżej instalacji Elasticsearch oprogramowanie umieszcza przetworzone i przechowywane dane w katalogu /var/lib/elasticsearch. Jeśli potrzebujesz modyfikacji konfiguracji, katalogiem, do którego się udasz, będzie /etc/elasticsearch. Jeśli opcje uruchamiania Java wymagają dostosowania, ustawienia te można dostosować w pliku konfiguracyjnym /etc/default/elasticsearch.

Te standardowe ustawienia pasują do samodzielnych serwerów, na których Elasticsearch działa wyłącznie na hoście lokalnym. Jeśli jednak Twoim celem jest utworzenie klastra Elasticsearch lub zezwolenie na połączenia zdalne, konieczne są modyfikacje konfiguracji domyślnej.

Udoskonalanie pliku konfiguracyjnego Elasticsearch

Plik konfiguracyjny Elasticsearch zawiera wiele parametrów, które można dostosować do własnych potrzeb. Aby otworzyć ten plik, wykonaj następujące polecenie:

sudo nano /etc/elasticsearch/elasticsearch.yml

Ważnym parametrem jest klaster.nazwa, który określa nazwę klastra, do którego należy Twój węzeł. Domyślnie jest to „elasticsearch”, ale w środowisku produkcyjnym zalecana jest bardziej wyrazista nazwa.

Oto przykład:

cluster.name: my_application

Opcja node.name to kolejna ważna opcja, która ustawia nazwę węzła Elasticsearch. Nazwa ta jest niezbędna do sprawnego administrowania i zarządzania, szczególnie podczas pracy z wieloma węzłami.

Oto przykład:

node.name: node-1

Skonfiguruj Elasticsearch 8 z HTTPS w Debianie

Poniżej omówiono konfigurowanie protokołu HTTPS dla instalacji Elasticsearch. Szyfrowanie jest niezbędne do zabezpieczenia danych, a włączenie Elasticsearch 8 do korzystania z protokołu HTTPS zapewnia bezpieczną transmisję danych między węzłami i klientami.

Generuj certyfikaty SSL

Pierwszym krokiem w konfiguracji Elasticsearch dla HTTPS jest wygenerowanie certyfikatu SSL. Ten certyfikat służy do szyfrowania danych między Twoim serwerem a klientami. Elasticsearch ma wbudowane narzędzie o nazwie Elasticsearch-certutil, którego można użyć do wygenerowania certyfikatu z podpisem własnym. Uruchom następujące polecenie:

sudo /usr/share/elasticsearch/bin/elasticsearch-certutil cert --silent --pem -out config/elastic-certificates.p12

Spowoduje to utworzenie pliku .p12 w katalogu konfiguracyjnym. Plik ten zawiera zarówno klucz prywatny, jak i certyfikat publiczny. Ważne jest, aby chronić ten plik i upewnić się, że nie jest on dostępny dla nieupoważnionych użytkowników.

Zaktualizuj konfigurację Elasticsearch 8

Następnie musisz zaktualizować plik konfiguracyjny Elasticsearch znajdujący się w /etc/elasticsearch/elasticsearch.yml, aby uwzględnić ścieżki do Twojego certyfikatu i klucza prywatnego. Otwórz plik konfiguracyjny i dodaj następujące wiersze:

xpack.security.transport.ssl.enabled: true
xpack.security.transport.ssl.verification_mode: certificate
xpack.security.transport.ssl.keystore.path: elastic-certificates.p12
xpack.security.transport.ssl.truststore.path: elastic-certificates.p12

Ustawienia te włączają SSL dla warstwy transportowej, określają, że do weryfikacji SSL używamy certyfikatów oraz definiują ścieżki do certyfikatu i klucza prywatnego.

Zezwalanie na dostęp zdalny (opcjonalnie)

Elasticsearch jest domyślnie skonfigurowany tak, aby nasłuchiwał tylko hosta lokalnego. Można to jednak dostosować w przypadkach, gdy wymagany jest zdalny dostęp. Poszukaj sekcji Sieć i odkomentuj linię network.host, usuwając znak # z przodu. Zastąp istniejącą wartość swoim wewnętrznym prywatnym adresem IP lub zewnętrznym adresem IP.

Oto przykład:

# network.host: 192.168.0.1

W tym przykładzie plik network.host został odkomentowany i dostosowany do wewnętrznego prywatnego adresu IP.

Ze względów bezpieczeństwa wskazane jest podanie indywidualnych adresów IP. Można jednak zmienić interfejs sieciowy tak, aby nasłuchiwał wszystkich, ustawiając go na 0.0.0.0 dla wielu wewnętrznych lub zewnętrznych adresów IP łączących się z serwerem.

Po dokonaniu niezbędnych zmian zapisz plik konfiguracyjny (CTRL+O aby zapisać, CTRL+X aby wyjść).

Aby wymusić zmiany w pliku konfiguracyjnym, zrestartuj usługę Elasticsearch za pomocą polecenia:

sudo systemctl restart elasticsearch

Modyfikowanie reguł zapory UFW dla połączeń zdalnych

Jeśli skonfigurowałeś Elasticsearch tak, aby zezwalał na połączenia zdalne, dostosowanie reguł zapory sieciowej do obsługi tych połączeń jest niezbędne. Nieskomplikowana zapora sieciowa (UFW) może w tym pomóc.

Możesz zezwolić określonemu adresowi IP na połączenie z Elasticsearch, wykonując to polecenie:

sudo ufw allow from <IP Address> to any port 9200

Nie zapomnij wymienić z rzeczywistym adresem IP, z którego chcesz zezwolić na połączenia. To polecenie otworzy port 9200 dla określonego adresu IP, umożliwiając mu interakcję z Elasticsearch.

Na przykład, jeśli chcesz zezwolić na połączenie z adresem IP 192.168.0.2, polecenie będzie wyglądać następująco:

sudo ufw allow from 192.168.0.2 to any port 9200

Następnie Twój serwer Debian zezwoli ruchowi z 192.168.0.2 na dostęp do Elasticsearch przez port 9200. Pamiętaj, że bezpieczeństwo Twoich serwerów jest najważniejsze, więc upewnij się, że udzielasz dostępu tylko zaufanym adresom IP.

Weryfikacja konfiguracji Elasticsearch 8

Po zmodyfikowaniu konfiguracji Elasticsearch ważne jest sprawdzenie, czy zmiany zostały poprawnie zaimplementowane i czy instancja Elasticsearch działa zgodnie z oczekiwaniami.

Sprawdzanie stanu usługi Elasticsearch 8

Najpierw sprawdź status usługi Elasticsearch, aby potwierdzić, że jest aktywna i działa. Można to zrobić za pomocą następującego polecenia:

sudo systemctl status elasticsearch

To polecenie wyświetli informacje o usłudze Elasticsearch, w tym o tym, czy jest ona aktywna i działa. Jeśli nie, może być konieczne rozwiązanie problemu lub przejrzenie zmian w konfiguracji.

Testowanie dostępu zdalnego (opcjonalnie)

Jeśli włączyłeś dostęp zdalny, możesz go przetestować, próbując połączyć się z instancją Elasticsearch ze zdalnego komputera. Jak omówiono w poprzedniej sekcji, adres IP, z którego się łączysz, musi być dozwolony w regułach zapory sieciowej.

W tym celu możesz użyć polecenia curl:

curl https://<Your_Elasticsearch_IP>:9200

Zastępować z adresem IP Twojego serwera Elasticsearch. Jeśli się powiedzie, to polecenie powinno zwrócić informacje o instancji Elasticsearch.

Sprawdzanie integralności danych

Na koniec ważne jest, aby zweryfikować integralność danych Elasticsearch, zwłaszcza jeśli dokonałeś zmian w katalogu danych w swojej konfiguracji. Elasticsearch udostępnia interfejsy API, których można używać do sprawdzania stanu swoich danych.

Na przykład, aby uzyskać status wszystkich indeksów, użyj następującego polecenia:

curl -X GET "https://localhost:9200/_cat/indices?v=true&pretty"

To polecenie wyświetla listę wszystkich indeksów w instancji Elasticsearch i ich stan. Sprawdź stan swoich indeksów, aby mieć pewność, że Twoje dane są bezpieczne i dostępne.

Uwaga: pamiętaj, że utrzymanie integralności i bezpieczeństwa Twoich danych powinno zawsze być najwyższym priorytetem. Zawsze dokładnie sprawdzaj wprowadzone zmiany, sprawdzaj konfigurację i regularnie monitoruj instancję Elasticsearch. Pomoże Ci to w utrzymaniu niezawodnego, wydajnego i bezpiecznego systemu zarządzania danymi za pomocą Elasticsearch.

Interakcja z Elasticsearch 8 poprzez cURL

W tej sekcji omówimy typowe polecenia współpracujące z instancją Elasticsearch 8. Skorzystamy z curl narzędzie wiersza poleceń, elastyczna biblioteka do przesyłania danych przy użyciu różnych protokołów.

Usuwanie indeksu

Indeks Elasticsearch to zbiór dokumentów o podobnych cechach. Jeśli masz indeks o nazwie próbki, który chcesz usunąć, możesz to zrobić za pomocą następującego polecenia:

curl -X DELETE 'https://localhost:9200/samples'

To polecenie wysyła żądanie HTTP DELETE do określonego adresu URL, które informuje Elasticsearch o usunięciu indeksu próbek.

Lista wszystkich indeksów

Aby pobrać listę wszystkich indeksów w instancji Elasticsearch, użyj punktu końcowego _cat/indices z żądaniem GET w następujący sposób:

curl -X GET 'https://localhost:9200/_cat/indices?v'

W odpowiedzi zostaną wyświetlone wszystkie indeksy, w tym ich stan, stan, rozmiar i liczba dokumentów.

Pobieranie dokumentów z indeksu

Aby pobrać wszystkie dokumenty z określonego indeksu, powiedzmy przykład, użyj punktu końcowego _search:

curl -X GET 'https://localhost:9200/sample/_search'

To polecenie pobiera wszystkie dokumenty zapisane w przykładowym indeksie.

Wyszukiwanie według parametrów adresu URL

Możesz użyć składni zapytań Lucene do podstawowego wyszukiwania tekstowego. Na przykład, jeśli chcesz znaleźć dokumenty, w których dziedziną szkoły jest Harvard, użyjesz:

curl -X GET https://localhost:9200/samples/_search?q=school:Harvard

To polecenie wysyła żądanie GET do punktu końcowego _search przy użyciu parametru q dla zapytania.

Wyszukiwanie za pomocą Elasticsearch Query DSL

W przypadku bardziej złożonych zapytań możesz preferować użycie Query DSL Elasticsearch, które pozwala używać JSON do definiowania zapytań. Ten format jest bardziej czytelny i łatwiejszy do debugowania złożonych zapytań.

Oto przykład:

curl -XGET --header 'Content-Type: application/json' https://localhost:9200/samples/_search -d '{
      "query" : {
        "match" : { "school": "Harvard" }
    }
}'

To polecenie działa tak samo jak poprzednie, ale używa JSON do definicji zapytania. Dzięki temu polecenie jest bardziej czytelne, szczególnie w przypadku bardziej złożonych zapytań.

Dodawanie i aktualizacja dokumentów

Aby dodać nowy dokument do indeksu, możesz użyć metody PUT wraz z punktem końcowym _doc. Na przykład, aby dodać dokument o identyfikatorze 1 i kierunku szkolnym Harvard do indeksu próbek, należy użyć:

curl -XPUT --header 'Content-Type: application/json' https://localhost:9200/samples/_doc/1 -d '{
   "school" : "Harvard"
}'

Aby zaktualizować dokument, możesz użyć metody POST z punktem końcowym _update. Na przykład, aby dodać pole uczniów do właśnie utworzonego dokumentu, użyj:

curl -XPOST --header 'Content-Type: application/json' https://localhost:9200/samples/_doc/1/_update -d '{
"doc" : {
               "students": 50000}
}'

To polecenie informuje Elasticsearch, aby zaktualizował dokument o identyfikatorze 1 w indeksie próbek, dodając pole studentów o wartości 50000.

Te polecenia to tylko niewielka próbka tego, co można osiągnąć za pomocą Elasticsearch. Zapytanie Elasticsearch DSL

Zarządzaj Elasticsearch 8 na Debianie 12, 11 lub 10

Ten segment dotyczy procesu usuwania Elasticsearch 8 z serwera Debian Linux. Możesz chcieć to zrobić z kilku powodów, np. oprogramowanie nie spełnia już Twoich wymagań lub planujesz przejście na alternatywne rozwiązanie. Niezależnie od powodów, kroki opisane poniżej przeprowadzą Cię przez ten proces.

Usuwanie Elasticsearch 8 z Debiana

Usunięcie Elasticsearch z serwera wymaga prostego polecenia. Pamiętaj jednak, że ta czynność jest nieodwracalna i spowoduje usunięcie wszystkich powiązanych danych. Oto polecenie do wykonania:

sudo apt remove elasticsearch

Uruchomienie powyższego polecenia skutecznie odinstaluje Elasticsearch, zwalniając wszelkie wcześniej przydzielone zasoby systemowe.

Usuń repozytorium Elasticsearch APT

Repozytorium Elasticsearch pozostanie w systemie po dezinstalacji. Jeśli masz pewność, że nie będziesz w przyszłości ponownie instalować Elasticsearch, równie dobrze możesz się go pozbyć, aby uniknąć niepotrzebnego bałaganu.

Oto jak usunąć repozytorium Elasticsearch:

sudo rm /etc/apt/sources.list.d/elasticsearch-8.list

Powyższe polecenie usunie repozytorium Elasticsearch 8 z serwera Debian Linux.

Odświeżanie listy repozytoriów

Ostatnim krokiem jest odświeżenie listy pakietów apt. Ten krok jest niezbędny, aby mieć pewność, że Twój system nie weźmie pod uwagę Elasticsearch 8 przy przyszłych aktualizacjach lub instalacjach.

Polecenie aktualizacji listy repozytoriów jest następujące:

sudo apt update

Wniosek

Po pomyślnym zainstalowaniu Elasticsearch 8 w systemie Debian możesz wykorzystać jego zaawansowane możliwości wyszukiwania i analizy do wydajnego zarządzania i analizowania danych. Regularnie aktualizuj Elasticsearch, aby korzystać z najnowszych funkcji i ulepszeń zabezpieczeń. Ciesz się potężnymi funkcjonalnościami Elasticsearch 8.x, dostosowanymi do wymagań nowoczesnego zarządzania danymi i analityki.

Joshua James
Chodź za mną
Najnowsze posty autorstwa Joshua James (widzieć wszystko)

Dodaj komentarz