Hoe Elasticsearch 8 op Debian 12, 11 of 10 Linux te installeren

Elasticsearch 8 is een krachtige en flexibele open-source zoek- en analyse-engine die bekend staat om zijn schaalbaarheid, snelheid en realtime gegevensindexeringsmogelijkheden. De 8.x-release brengt aanzienlijke verbeteringen met zich mee, waaronder verbeterde beveiligingsfuncties met eenvoudig certificaatbeheer, verbeterde tekstzoekmogelijkheden en efficiëntere uitvoering van zoekopdrachten. Het introduceert ook native ondersteuning voor runtime-velden, waardoor het eenvoudiger wordt om aan te passen hoe gegevens worden geïndexeerd en doorzocht zonder het onderliggende schema te wijzigen. Deze verbeteringen maken Elasticsearch 8.x tot een robuuste oplossing voor het beheren en analyseren van grote hoeveelheden gegevens.

Om Elasticsearch 8 op Debian 12, 11 of 10 te installeren, kunt u de officiële APT-repository van Elasticsearch gebruiken. Deze gids leidt u door de stappen voor het instellen van Elasticsearch, zodat u toegang heeft tot de nieuwste functies en verbeteringen.

Update Debian vóór de installatie van Elasticsearch

In de eerste stap moet u ervoor zorgen dat uw Debian Linux-systeem wordt bijgewerkt. Met deze stap wordt alle bestaande software bijgewerkt naar de nieuwste versies en wordt uw systeem voorbereid op installatie.

Voer het volgende commando uit om uw Debian-systeem bij te werken:

sudo apt update && sudo apt upgrade

Noodzakelijke pakketten installeren

Voordat we Elasticsearch 8 op Debian installeren, moeten we aan specifieke vereisten voldoen. Dit omvat het installeren van een paar vereiste pakketten, zoals software-properties-common, apt-transport-https en curl. Deze pakketten vergemakkelijken het softwarebeheer en de gegevensoverdracht via het netwerk.

Installeer de benodigde pakketten door het volgende uit te voeren:

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

Voeg Elasticsearch 8 APT Repository toe op Debian

Vervolgens voegen we de Elasticsearch APT-repository toe aan ons Debian Linux-systeem. Ten eerste importeren we de GPG-sleutel voor Elasticsearch, die de authenticiteit van de software die u installeert garandeert. Voer de volgende opdracht uit om de GPG-sleutel te importeren:

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

Laten we vervolgens de Elasticsearch-repository importeren. Hierdoor kunnen we Elasticsearch rechtstreeks installeren met behulp van de apt pakket manager:

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

APT-indexcache bijwerken

We moeten de APT-pakketindex bijwerken nadat we de Elasticsearch-repository aan ons systeem hebben toegevoegd. Dit zorgt ervoor dat APT op de hoogte is van de nieuwe pakketten uit de nieuw toegevoegde repository. Voer de volgende opdracht uit om de APT-index bij te werken:

sudo apt update

Installeer Elasticsearch 8 via APT Command

Nu ons systeem is voorbereid en de APT-index is bijgewerkt, kunnen we Elasticsearch 8 installeren. Gebruik de volgende opdracht om Elasticsearch te installeren:

sudo apt install elasticsearch

Opmerking: als er twee vermeldingen bestaan ​​voor dezelfde Elasticsearch-repository, zult u een fout tegenkomen tijdens de apt-update. Als u de foutmelding 'Dubbele bronnen.lijstvermelding' tegenkomt, controleer dan /etc/apt/sources.list.d/elasticsearch-8.x.list voor de dubbele invoer of zoek de dubbele invoer tussen de bestanden in /etc/ apt/sources.list.d/ en het bestand /etc/apt/sources.list.

Schakel Elasticsearch in op Debian na installatie

Na de installatie is de Elasticsearch-service uitgeschakeld bij het opstarten en standaard inactief. Om de Elasticsearch-service in te schakelen en deze automatisch te laten starten bij het opstarten, gebruikt u het volgende systemctl commando:

sudo systemctl enable elasticsearch.service --now

Configureer Elasticsearch 8

De volgende fase van het beheer van Elasticsearch 8 op uw Debian Linux-systeem is het configureren ervan.

Kennismaken met de standaard Elasticsearch-instellingen

Bij een nieuwe Elasticsearch-installatie plaatst de software de verwerkte en opgeslagen gegevens in de map /var/lib/elasticsearch. Als u configuratiewijzigingen nodig heeft, is /etc/elasticsearch uw favoriete map. Als de opstartopties van Java moeten worden aangepast, kunnen deze instellingen worden aangepast in het configuratiebestand /etc/default/elasticsearch.

Deze standaardinstellingen passen op standalone servers waarop Elasticsearch uitsluitend op localhost werkt. Als uw zinnen echter gericht zijn op het opzetten van een Elasticsearch-cluster of het toestaan ​​van externe verbindingen, zijn wijzigingen in de standaardconfiguratie noodzakelijk.

Het Elasticsearch-configuratiebestand verfijnen

Het Elasticsearch-configuratiebestand bevat veel parameters die kunnen worden aangepast om aan uw unieke behoeften te voldoen. Om dit bestand te openen, voert u de volgende opdracht uit:

sudo nano /etc/elasticsearch/elasticsearch.yml

Een belangrijke parameter is cluster.name, die de clusternaam aangeeft waartoe uw knooppunt behoort. Standaard is dit ‘elasticsearch’, maar in een productieomgeving is een duidelijker naam aan te raden.

Hier is een voorbeeld:

cluster.name: my_application

De node.name optie is een andere belangrijke optie die de naam van het Elasticsearch-knooppunt instelt. Deze naam is essentieel voor een soepel beheer en beheer, vooral als u met meerdere knooppunten werkt.

Hier is een voorbeeld:

node.name: node-1

Configureer Elasticsearch 8 met HTTPS op Debian

Hieronder wordt beschreven hoe u HTTPS configureert voor uw Elasticsearch-installatie. Encryptie is essentieel voor het beveiligen van gegevens, en door Elasticsearch 8 in staat te stellen HTTPS te gebruiken, zorgt u ervoor dat gegevens veilig worden verzonden tussen knooppunten en clients.

SSL-certificaten genereren

De eerste stap bij het configureren van Elasticsearch voor HTTPS is het genereren van een SSL-certificaat. Dit certificaat gaat de gegevens tussen uw server en clients versleutelen. Elasticsearch heeft een ingebouwde tool genaamd elasticsearch-certutil die u kunt gebruiken om een ​​zelfondertekend certificaat te genereren. Voer de volgende opdracht uit:

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

Hierdoor wordt een .p12-bestand gemaakt in de configuratiemap. Dit bestand bevat zowel de privésleutel als het openbare certificaat. Het is essentieel om dit bestand te beschermen en ervoor te zorgen dat het niet toegankelijk is voor ongeautoriseerde gebruikers.

Update Elasticsearch 8-configuratie

Vervolgens moet u het Elasticsearch-configuratiebestand in /etc/elasticsearch/elasticsearch.yml bijwerken om de paden naar uw certificaat en privésleutel op te nemen. Open het configuratiebestand en voeg de volgende regels toe:

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

Deze instellingen schakelen SSL in voor de transportlaag, specificeren dat we certificaten gebruiken voor SSL-verificatie en definiëren de paden naar het certificaat en de privésleutel.

Externe toegang toestaan ​​(optioneel)

Elasticsearch is standaard geconfigureerd om alleen naar localhost te luisteren. Dit kan echter worden aangepast in gevallen waarin toegang op afstand vereist is. Zoek naar het gedeelte Netwerk en verwijder het commentaar op de regel network.host door de # ervoor te verwijderen. Vervang de bestaande waarde door uw interne privé-IP-adres of externe IP-adres.

Hier is een voorbeeld:

# network.host: 192.168.0.1

In dit voorbeeld is network.host niet van commentaar voorzien en aangepast aan een intern privé-IP-adres.

Om veiligheidsredenen is het raadzaam om individuele IP-adressen op te geven. U kunt echter de netwerkinterface wijzigen om naar iedereen te luisteren door deze in te stellen op 0.0.0.0 voor meerdere interne of externe IP-adressen die verbinding maken met de server.

Nadat u de nodige wijzigingen heeft aangebracht, slaat u het configuratiebestand op (CTRL+O om op te slaan, CTRL+X om af te sluiten).

Om de wijzigingen in het configuratiebestand af te dwingen, start u de Elasticsearch-service opnieuw met de opdracht:

sudo systemctl restart elasticsearch

De UFW-firewallregels voor externe verbindingen wijzigen

Als u Elasticsearch heeft geconfigureerd om externe verbindingen toe te staan, is het van essentieel belang om uw firewallregels aan te passen aan deze verbindingen. De Uncomplicated Firewall (UFW) kan hierbij helpen.

U kunt toestaan ​​dat een specifiek IP-adres verbinding maakt met Elasticsearch door deze opdracht uit te voeren:

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

Vergeet niet te vervangen met het daadwerkelijke IP-adres waarvan u verbindingen wilt toestaan. Met deze opdracht wordt poort 9200 geopend voor het opgegeven IP-adres, waardoor interactie met Elasticsearch mogelijk is.

Als u bijvoorbeeld wilt toestaan ​​dat het IP-adres 192.168.0.2 verbinding maakt, is de opdracht:

sudo ufw allow from 192.168.0.2 to any port 9200

Hierna zal uw Debian-server verkeer van 192.168.0.2 toegang verlenen tot Elasticsearch via poort 9200. Houd er rekening mee dat de veiligheid van uw servers van het grootste belang is, dus zorg ervoor dat u alleen toegang verleent aan vertrouwde IP-adressen.

Elasticsearch 8-configuratie verifiëren

Na het wijzigen van uw Elasticsearch-configuratie is het essentieel om te verifiëren dat de wijzigingen correct zijn geïmplementeerd en dat uw Elasticsearch-instantie naar verwachting functioneert.

De Elasticsearch 8-servicestatus controleren

Controleer eerst de status van uw Elasticsearch-service om te bevestigen dat deze actief en actief is. U kunt dit doen met het volgende commando:

sudo systemctl status elasticsearch

Met deze opdracht wordt informatie over de Elasticsearch-service weergegeven, inclusief of deze actief en actief is. Als dit niet het geval is, moet u mogelijk het probleem oplossen of uw configuratiewijzigingen bekijken.

Externe toegang testen (optioneel)

Als u externe toegang heeft ingeschakeld, kunt u deze testen door vanaf een externe machine verbinding te maken met uw Elasticsearch-instantie. Zoals besproken in de vorige sectie, moet het IP-adres waarmee u verbinding maakt, zijn toegestaan ​​in uw firewallregels.

U kunt hiervoor het curl-commando gebruiken:

curl https://<Your_Elasticsearch_IP>:9200

Vervangen met het IP-adres van uw Elasticsearch-server. Indien succesvol, zou deze opdracht informatie over uw Elasticsearch-instantie moeten retourneren.

Validatie van gegevensintegriteit

Ten slotte is het essentieel om de integriteit van uw Elasticsearch-gegevens te verifiëren, vooral als u wijzigingen heeft aangebracht in de gegevensdirectory in uw configuratie. Elasticsearch biedt API’s waarmee u de status van uw gegevens kunt controleren.

Als u bijvoorbeeld de status van alle indices wilt opvragen, gebruikt u de volgende opdracht:

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

Met deze opdracht worden alle indices in uw Elasticsearch-exemplaar en hun status weergegeven. Controleer de gezondheidsstatus van uw indices om ervoor te zorgen dat uw gegevens veilig en toegankelijk zijn.

Opmerking: onthoud dat het handhaven van de integriteit en veiligheid van uw gegevens altijd een topprioriteit moet zijn. Controleer altijd uw wijzigingen, valideer uw configuratie en controleer uw Elasticsearch-instantie regelmatig. Dit zal u helpen een betrouwbaar, efficiënt en veilig gegevensbeheersysteem te onderhouden met Elasticsearch.

Interactie met Elasticsearch 8 via cURL

In deze sectie worden algemene opdrachten onderzocht die communiceren met uw Elasticsearch 8-instantie. Wij gebruiken de curl opdrachtregeltool, een flexibele bibliotheek voor het overbrengen van gegevens met behulp van verschillende protocollen.

Een index verwijderen

Een Elasticsearch-index is een reeks documenten met vergelijkbare kenmerken. Als u een index met de naam samples heeft die u wilt verwijderen, kunt u dat doen met de volgende opdracht:

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

Met deze opdracht wordt een HTTP DELETE-verzoek naar de opgegeven URL verzonden, waardoor Elasticsearch de voorbeeldindex moet verwijderen.

Lijst met alle indexen

Om een ​​lijst met alle indices in uw Elasticsearch-instantie op te halen, gebruikt u het eindpunt _cat/indices met een GET-verzoek als volgt:

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

In het antwoord worden alle indexen vermeld, inclusief de status, de status, de grootte en het aantal documenten van de index.

Documenten ophalen uit een index

Om alle documenten uit een specifieke index, bijvoorbeeld voorbeeld, op te halen, gebruikt u het _search-eindpunt:

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

Met deze opdracht worden alle documenten opgehaald die zijn opgeslagen in de voorbeeldindex.

Zoeken met URL-parameters

U kunt de querysyntaxis van Lucene gebruiken voor eenvoudige tekstzoekopdrachten. Als u bijvoorbeeld documenten wilt vinden waarin het schoolveld Harvard is, zou u het volgende gebruiken:

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

Met deze opdracht wordt een GET-verzoek naar het _search-eindpunt verzonden met behulp van de parameter q voor de query.

Zoeken met Elasticsearch Query DSL

Voor complexere query's kunt u wellicht de voorkeur geven aan Query DSL van Elasticsearch, waarmee u JSON kunt gebruiken om query's te definiëren. Dit formaat is beter leesbaar en toegankelijker voor het debuggen van complexe query's.

Hier is een voorbeeld:

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

Deze opdracht doet hetzelfde als de vorige, maar gebruikt JSON voor de querydefinitie. Op deze manier is de opdracht beter leesbaar, vooral bij complexere zoekopdrachten.

Documenten toevoegen en bijwerken

Om een ​​nieuw document aan een index toe te voegen, kunt u de PUT-methode samen met het _doc-eindpunt gebruiken. Als u bijvoorbeeld een document met ID 1 en een schoolveld van Harvard aan de voorbeeldindex wilt toevoegen, gebruikt u:

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

Om een ​​document bij te werken, kunt u de POST-methode gebruiken met het eindpunt _update. Als u bijvoorbeeld een studentenveld wilt toevoegen aan het document dat we zojuist hebben gemaakt, gebruikt u:

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

Deze opdracht vertelt Elasticsearch om het document bij te werken met een ID van 1 in de voorbeeldindex, en een studentenveld toe te voegen met een waarde van 50000.

Deze opdrachten zijn slechts een klein voorbeeld van wat u met Elasticsearch kunt bereiken. De Elasticsearch-query DSL

Beheer Elasticsearch 8 op Debian 12, 11 of 10

Dit segment gaat dieper in op het verwijderingsproces van Elasticsearch 8 van uw Debian Linux-server. Het kan zijn dat u dit om verschillende redenen wilt doen, bijvoorbeeld omdat de software niet meer voldoet aan uw wensen of omdat u van plan bent over te stappen naar een alternatieve oplossing. Ongeacht uw redenen zullen de onderstaande stappen u door het proces leiden.

Elasticsearch 8 verwijdering van Debian

Het verwijderen van Elasticsearch van uw server omvat een eenvoudige opdracht. Houd er echter rekening mee dat deze actie onomkeerbaar is en dat alle bijbehorende gegevens worden verwijderd. Hier is de opdracht die moet worden uitgevoerd:

sudo apt remove elasticsearch

Als u de bovenstaande opdracht uitvoert, wordt Elasticsearch effectief verwijderd, waardoor eerder toegewezen systeembronnen vrijkomen.

Verwijder Elasticsearch APT-repository

De Elasticsearch-repository blijft na het verwijderen op uw systeem staan. Als u zeker weet dat u Elasticsearch in de toekomst niet opnieuw zult installeren, kunt u het net zo goed verwijderen om onnodige rommel te voorkomen.

Zo verwijdert u de Elasticsearch-repository:

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

Met de bovenstaande opdracht wordt de Elasticsearch 8-repository van uw Debian Linux-server verwijderd.

Lijst met opslagplaatsen vernieuwen

De laatste stap is het vernieuwen van de apt-pakketlijst. Deze stap is essentieel om ervoor te zorgen dat uw systeem Elasticsearch 8 niet in overweging neemt voor toekomstige updates of installaties.

Het commando om uw repositorylijst bij te werken is als volgt:

sudo apt update

Conclusie

Nu Elasticsearch 8 met succes op uw Debian-systeem is geïnstalleerd, kunt u de geavanceerde zoek- en analysemogelijkheden benutten om uw gegevens efficiënt te beheren en analyseren. Update Elasticsearch regelmatig om te profiteren van de nieuwste functies en beveiligingsverbeteringen. Geniet van de krachtige functionaliteiten van Elasticsearch 8.x, afgestemd op de eisen van modern databeheer en analyse.

Joshua James
Volg mij
Laatste berichten van Joshua James (alles zien)

Plaats een reactie