Android

Jak zainstalować elasticsearch na Debianie 9

ElasticSearch пример использования запросы - ElasticSearch уроки

ElasticSearch пример использования запросы - ElasticSearch уроки

Spisu treści:

Anonim

Elasticsearch jest otwartym, rozproszonym silnikiem wyszukiwania i analizy pełnotekstowej. Obsługuje operacje RESTful i pozwala przechowywać, wyszukiwać i analizować duże ilości danych w czasie rzeczywistym.

Elasticsearch to jedna z najpopularniejszych wyszukiwarek napędzających aplikacje, które mają złożone wymagania wyszukiwania, takie jak duże sklepy e-commerce i aplikacje analityczne.

Ten samouczek poprowadzi Cię przez proces instalacji Elasticsearch na Debianie 9.

Wymagania wstępne

Musisz być zalogowany jako użytkownik z uprawnieniami sudo, aby móc instalować pakiety na serwerze Debiana.

Instalowanie Elasticsearch

Najłatwiejszym sposobem zainstalowania Elasticsearch na Debianie jest skorzystanie z oficjalnego repozytorium Elasticsearch. W chwili pisania tego artykułu najnowszą wersją Elasticsearch jest 7.0.0 i wymaga ona zainstalowania Java 8 w systemie.

Zacznij od zaktualizowania indeksu pakietów i zainstalowania pakietu apt-transport-https niezbędnego do uzyskania dostępu do repozytorium przez

sudo apt update sudo apt install apt-transport-https

Zainstaluj OpenJDK 8:

sudo apt install openjdk-8-jdk

Sprawdź instalację Java, drukując wersję Java:

java -version

Dane wyjściowe powinny wyglądać mniej więcej tak:

openjdk version "1.8.0_181" OpenJDK Runtime Environment (build 1.8.0_181-8u181-b13-2~deb9u1-b13) OpenJDK 64-Bit Server VM (build 25.181-b13, mixed mode)

Następnym krokiem jest dodanie repozytorium Elasticsearch.

Zaimportuj klucz publiczny repozytorium za pomocą następującego polecenia wget :

wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -

Powyższe polecenie powinno dać wynik OK co oznacza, że ​​klucz został pomyślnie zaimportowany, a pakiety z tego repozytorium zostaną uznane za zaufane.

Następnie dodaj repozytorium Elasticsearch do systemu, uruchamiając:

sudo sh -c 'echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" > /etc/apt/sources.list.d/elastic-7.x.list' Jeśli chcesz zainstalować inną wersję Elasticsearch, zmień 7.x w powyższym poleceniu na odpowiednią wersję.

Zaktualizuj indeks pakietów i zainstaluj silnik Elasticsearch:

sudo apt update sudo apt install elasticsearch

Po zakończeniu procesu instalacji uruchom i włącz usługę, używając następujących poleceń:

sudo systemctl enable elasticsearch.service sudo systemctl start elasticsearch.service

Aby sprawdzić, czy Elasticsearch działa, wyślij żądanie HTTP do portu 9200 na localhost za pomocą następującego polecenia curl:

curl -X GET "localhost:9200/"

Dane wyjściowe powinny wyglądać podobnie do tego:

{ "name": "stretch", "cluster_name": "elasticsearch", "cluster_uuid": "Nj2W3PswRuWvJW8JG75O1Q", "version": { "number": "7.0.0", "build_flavor": "default", "build_type": "deb", "build_hash": "b7e28a7", "build_date": "2019-04-05T22:55:32.697037Z", "build_snapshot": false, "lucene_version": "8.0.0", "minimum_wire_compatibility_version": "6.7.0", "minimum_index_compatibility_version": "6.0.0-beta1" }, "tagline": "You Know, for Search" }

Uruchomienie usługi może potrwać 5–10 sekund. Jeśli zobaczysz curl: (7) Failed to connect to localhost port 9200: Connection refused , poczekaj kilka sekund i spróbuj ponownie.

Aby wyświetlić wiadomości zarejestrowane przez usługę Elasticsearch, użyj poniższego polecenia:

sudo journalctl -u elasticsearch

Otóż ​​to. Elasticsearch został zainstalowany na twoim serwerze Debiana.

Konfigurowanie Elasticsearch

Dane elasticsearch są przechowywane w katalogu /var/lib/elasticsearch . Pliki konfiguracyjne znajdują się w /etc/elasticsearch a opcje uruchamiania Java można skonfigurować w /etc/default/elasticsearch .

Domyślnie Elasticsearch jest skonfigurowany do nasłuchiwania tylko na localhost. Jeśli klient łączący się z bazą danych działa również na tym samym hoście i konfigurujesz klaster z jednym węzłem, nie musisz włączać dostępu zdalnego.

Dostęp zdalny

Po wyjęciu z pudełka Elasticsearch nie implementuje uwierzytelniania, więc dostęp do niego może uzyskać każdy, kto ma dostęp do interfejsu API HTTP. Jeśli chcesz zezwolić na zdalny dostęp do serwera Elasticsearch, musisz skonfigurować zaporę ogniową i zezwolić na dostęp do portu Elasticsearch 9200 tylko od zaufanych klientów.

sudo ufw allow from 192.168.100.20 to any port 9200 Nie zapomnij zmienić 192.168.100.20 pomocą zdalnego adresu IP.

W przeciwnym razie, jeśli używasz zwykłego starego iptables, uruchom:

sudo iptables -A INPUT -p tcp -s 192.168.100.20 --dport 9200 -j ACCEPT

Po skonfigurowaniu zapory następnym krokiem jest edycja konfiguracji i ustawienie Elasticsearch tak, aby nasłuchiwał połączeń zewnętrznych.

Aby to zrobić, otwórz plik konfiguracyjny elasticsearch.yml :

sudo nano /etc/elasticsearch/elasticsearch.yml

Wyszukaj wiersz zawierający network.host , odkomentuj go i zmień wartość na 0.0.0.0 :

/etc/elasticsearch/elasticsearch.yml

network.host: 0.0.0.0

Uruchom ponownie usługę Elasticsearch, aby zmiany odniosły skutek:

sudo systemctl restart elasticsearch

W tym momencie powinieneś być w stanie połączyć się z serwerem Elasticsearch ze swojej zdalnej lokalizacji.

Wniosek

Pomyślnie zainstalowałeś Elasticsearch w swoim systemie Debian 9. Aby uzyskać więcej informacji o tym, jak zacząć korzystać z Elasticsearch, odwiedź ich oficjalną stronę dokumentacji.

java elasticsearch baza danych debian