Android

Hoe ElasticSearch op Debian te installeren 9

How To Install And Setup Elasticsearch Engine On Linux

How To Install And Setup Elasticsearch Engine On Linux

Inhoudsopgave:

Anonim

Elasticsearch is een open source gedistribueerde zoekmachine voor volledige tekst en analyse. Het ondersteunt RESTful-bewerkingen en stelt u in staat om grote hoeveelheden gegevens in realtime op te slaan, te doorzoeken en te analyseren.

Elasticsearch is een van de populairste zoekmachines die applicaties aandrijft die complexe zoekvereisten hebben, zoals grote e-commerce winkels en analytische applicaties.

Deze zelfstudie leidt u door het installatieproces van Elasticsearch op Debian 9.

voorwaarden

U moet aangemeld zijn als een gebruiker met sudo-rechten om pakketten op uw Debian-server te kunnen installeren.

Elasticsearch installeren

De eenvoudigste manier om Elasticsearch op Debian te installeren is via de officiële Elasticsearch-repository. Op het moment dat dit artikel wordt geschreven, is de nieuwste versie van Elasticsearch 7.0.0 en moet Java 8 op het systeem worden geïnstalleerd.

Begin met het bijwerken van de pakkettenindex en het installeren van het apt-transport-https pakket dat nodig is om toegang te krijgen tot een repository via

sudo apt update sudo apt install apt-transport-https

Installeer OpenJDK 8:

sudo apt install openjdk-8-jdk

Controleer de Java-installatie door de Java-versie af te drukken:

java -version

De output zou er ongeveer zo uit moeten zien:

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)

De volgende stap is het toevoegen van de Elasticsearch-repository.

Importeer de openbare sleutel van de repository met de volgende wget opdracht:

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

De bovenstaande opdracht moet OK wat betekent dat de sleutel met succes is geïmporteerd en dat pakketten uit deze repository als vertrouwd worden beschouwd.

Voeg vervolgens de Elasticsearch-repository toe aan het systeem door:

sudo sh -c 'echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" > /etc/apt/sources.list.d/elastic-7.x.list' Als u een andere versie van Elasticsearch wilt installeren, wijzigt u 7.x in de bovenstaande opdracht met de versie die u nodig hebt.

Werk de pakkettenindex bij en installeer de Elasticsearch-engine:

sudo apt update sudo apt install elasticsearch

Wanneer het installatieproces is voltooid, start en schakelt u de service in met de volgende opdrachten:

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

Om te controleren of Elasticsearch actief is, stuurt u een HTTP-verzoek naar poort 9200 op localhost met behulp van de volgende curl-opdracht:

curl -X GET "localhost:9200/"

De uitvoer moet er ongeveer zo uitzien:

{ "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" }

Het kan 5-10 seconden duren voordat de service start. Als u curl: (7) Failed to connect to localhost port 9200: Connection refused , wacht enkele seconden en probeer het opnieuw.

Gebruik de onderstaande opdracht om de berichten te bekijken die door de Elasticsearch-service zijn vastgelegd:

sudo journalctl -u elasticsearch

Dat is het. Elasticsearch is geïnstalleerd op uw Debian-server.

Elasticsearch configureren

Elasticsearch-gegevens worden opgeslagen in de map /var/lib/elasticsearch . Configuratiebestanden bevinden zich in /etc/elasticsearch en Java-opstartopties kunnen worden geconfigureerd in het bestand /etc/default/elasticsearch .

Standaard is Elasticsearch geconfigureerd om alleen op localhost te luisteren. Als de client die verbinding maakt met de database ook op dezelfde host wordt uitgevoerd en u een cluster met één knooppunt instelt, hoeft u externe toegang niet in te schakelen.

Toegang op afstand

Out of box Elasticsearch, implementeert geen authenticatie, zodat het kan worden geopend door iedereen die toegang heeft tot de HTTP API. Als u externe toegang tot uw Elasticsearch-server wilt toestaan, moet u uw firewall configureren en toegang tot de Elasticsearch-poort 9200 alleen toestaan ​​van vertrouwde clients.

sudo ufw allow from 192.168.100.20 to any port 9200 Vergeet niet om 192.168.100.20 te wijzigen met uw externe IP-adres.

Anders, als u gewoon oude iptables-run gebruikt:

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

Nadat uw firewall is geconfigureerd, is de volgende stap het bewerken van de configuratie en instellen dat Elasticsearch naar externe verbindingen luistert.

Open hiervoor het configuratiebestand elasticsearch.yml :

sudo nano /etc/elasticsearch/elasticsearch.yml

Zoek naar de regel die network.host bevat, los deze op en wijzig de waarde in 0.0.0.0 :

/etc/elasticsearch/elasticsearch.yml

network.host: 0.0.0.0

Start de Elasticsearch-service opnieuw om de wijzigingen van kracht te laten worden:

sudo systemctl restart elasticsearch

Op dit punt zou u vanaf uw externe locatie verbinding moeten kunnen maken met de Elasticsearch-server.

Conclusie

U hebt Elasticsearch met succes op uw Debian 9-systeem geïnstalleerd. Ga voor meer informatie over hoe u aan de slag kunt met Elasticsearch naar hun officiële documentatiepagina.

java elastieksearch database debian