Hur man installerar Elasticsearch 8 på Debian 12, 11 eller 10 Linux

Elasticsearch 8 är en kraftfull och flexibel sök- och analysmotor med öppen källkod känd för sin skalbarhet, hastighet och dataindexering i realtid. 8.x-versionen medför betydande förbättringar, inklusive förbättrade säkerhetsfunktioner med enkel certifikathantering, utökade textsökningsmöjligheter och effektivare körning av frågor. Den introducerar också inbyggt stöd för körtidsfält, vilket gör det lättare att anpassa hur data indexeras och söks utan att ändra det underliggande schemat. Dessa framsteg gör Elasticsearch 8.xa till en robust lösning för att hantera och analysera stora datamängder.

För att installera Elasticsearch 8 på Debian 12, 11 eller 10 kan du använda det officiella APT-förrådet som tillhandahålls av Elasticsearch. Den här guiden leder dig genom stegen för att ställa in Elasticsearch, vilket säkerställer att du har tillgång till de senaste funktionerna och förbättringarna.

Uppdatera Debian före installationen av Elasticsearch

I det första steget måste du se till att ditt Debian Linux-system är uppdaterat. Detta steg kommer att uppdatera all befintlig programvara till de senaste versionerna och förbereda ditt system för installation.

Kör följande kommando för att uppdatera ditt Debian-system:

sudo apt update && sudo apt upgrade

Installera nödvändiga paket

Innan vi installerar Elasticsearch 8 på Debian måste vi uppfylla specifika förutsättningar. Detta innebär att du installerar några nödvändiga paket, som software-properties-common, apt-transport-https och curl. Dessa paket underlättar mjukvaruhantering och dataöverföring över nätverket.

Installera nödvändiga paket genom att köra följande:

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

Lägg till Elasticsearch 8 APT Repository på Debian

Därefter lägger vi till Elasticsearch APT-förvaret till vårt Debian Linux-system. Först importerar vi GPG-nyckeln för Elasticsearch, som säkerställer äktheten hos programvaran du installerar. Kör följande kommando för att importera GPG-nyckeln:

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

Låt oss sedan importera Elasticsearch-förrådet. Detta gör att vi kan installera Elasticsearch direkt med hjälp av apt pakethanterare:

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

Uppdaterar APT Index Cache

Vi måste uppdatera APT-paketindexet efter att vi lagt till Elasticsearch-förrådet i vårt system. Detta säkerställer att APT känner till de nya paketen från det nyligen tillagda arkivet. Kör följande kommando för att uppdatera APT-indexet:

sudo apt update

Installera Elasticsearch 8 via APT Command

Nu när vårt system är förberett och APT-indexet är uppdaterat kan vi installera Elasticsearch 8. Använd följande kommando för att installera Elasticsearch:

sudo apt install elasticsearch

Obs: Om det finns två poster för samma Elasticsearch-förråd, kommer du att stöta på ett fel under apt-uppdateringen. Om du stöter på ett "Duplicate sources.list entry"-fel, kontrollera /etc/apt/sources.list.d/elasticsearch-8.x.list för dubblettposten eller leta reda på dubblettposten bland filerna i /etc/ apt/sources.list.d/ och filen /etc/apt/sources.list.

Aktivera Elasticsearch på Debian efter installationen

Efter installationen är Elasticsearch-tjänsten inaktiverad vid uppstart och inaktiv som standard. För att aktivera Elasticsearch-tjänsten och ställa in den att starta automatiskt vid uppstart, använd följande systemctl kommando:

sudo systemctl enable elasticsearch.service --now

Konfigurera Elasticsearch 8

Nästa steg av att hantera Elasticsearch 8 på ditt Debian Linux-system är att konfigurera det.

Bekanta dig med standardinställningarna för Elasticsearch

På en ny Elasticsearch-installation placerar programvaran sina bearbetade och lagrade data i katalogen /var/lib/elasticsearch. Om du behöver modifieringar av konfigurationen, är /etc/elasticsearch din go-to-katalog. Om Java-startalternativen behöver justeras, kan dessa inställningar justeras i /etc/default/elasticsearch-konfigurationsfilen.

Dessa standardinställningar passar fristående servrar där Elasticsearch enbart arbetar på localhost. Men om ditt sikte är inställt på att etablera ett Elasticsearch-kluster eller tillåta fjärranslutningar, är ändringar av standardkonfigurationen nödvändiga.

Förfina Elasticsearch-konfigurationsfilen

Elasticsearch-konfigurationsfilen innehåller många parametrar som kan justeras för att möta dina unika behov. För att öppna den här filen, kör följande kommando:

sudo nano /etc/elasticsearch/elasticsearch.yml

En viktig parameter är cluster.name, som anger klusternamnet som din nod tillhör. Som standard är detta "elasticsearch", men ett mer distinkt namn är att rekommendera i en produktionsmiljö.

Här är ett exempel:

cluster.name: my_application

Alternativet node.name är en annan viktig som anger namnet på Elasticsearch-noden. Detta namn är viktigt för smidig administration och hantering, särskilt när du arbetar med flera noder.

Här är ett exempel:

node.name: node-1

Konfigurera Elasticsearch 8 med HTTPS på Debian

Följande täcker konfigurering av HTTPS för din Elasticsearch-installation. Kryptering är väsentligt för att säkra data, och att göra det möjligt för Elasticsearch 8 att använda HTTPS säkerställer att data överförs säkert mellan noder och klienter.

Generera SSL-certifikat

Det första steget i att konfigurera Elasticsearch för HTTPS är att generera ett SSL-certifikat. Detta certifikat är det som kommer att kryptera data mellan din server och klienter. Elasticsearch har ett inbyggt verktyg som heter elasticsearch-certutil som du kan använda för att generera ett självsignerat certifikat. Kör följande kommando:

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

Detta kommer att skapa en .p12-fil i config-katalogen. Den här filen innehåller både den privata nyckeln och det offentliga certifikatet. Det är viktigt att skydda den här filen och se till att den inte är tillgänglig för obehöriga användare.

Uppdatera Elasticsearch 8-konfiguration

Därefter måste du uppdatera Elasticsearch-konfigurationsfilen som finns på /etc/elasticsearch/elasticsearch.yml för att inkludera sökvägarna till ditt certifikat och din privata nyckel. Öppna konfigurationsfilen och lägg till följande rader:

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

Dessa inställningar aktiverar SSL för transportlagret, anger att vi använder certifikat för SSL-verifiering och definierar sökvägarna till certifikatet och den privata nyckeln.

Tillåta fjärråtkomst (valfritt)

Elasticsearch är konfigurerat att endast lyssna på localhost som standard. Detta kan dock justeras i de fall där fjärråtkomst krävs. Leta efter avsnittet Nätverk och avkommentera raden network.host genom att ta bort # framför. Ersätt det befintliga värdet med din interna privata IP-adress eller externa IP-adress.

Här är ett exempel:

# network.host: 192.168.0.1

I det här exemplet har network.host inte kommenterats och justerats till en intern privat IP-adress.

Av säkerhetsskäl är det lämpligt att ange individuella IP-adresser. Du kan dock ändra nätverksgränssnittet för att lyssna på alla genom att ställa in det till 0.0.0.0 för flera interna eller externa IP-adresser som ansluter till servern.

När du har gjort de nödvändiga ändringarna, spara konfigurationsfilen (CTRL+O för att spara, CTRL+X för att avsluta).

För att genomdriva ändringarna av konfigurationsfilen, starta om Elasticsearch-tjänsten med kommandot:

sudo systemctl restart elasticsearch

Ändra UFW-brandväggsreglerna för fjärranslutningar

Om du har konfigurerat Elasticsearch för att tillåta fjärranslutningar är det viktigt att justera dina brandväggsregler för att passa dessa anslutningar. Den okomplicerade brandväggen (UFW) kan hjälpa till med detta.

Du kan tillåta en specifik IP-adress att ansluta till Elasticsearch genom att utföra detta kommando:

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

Glöm inte att byta ut med den faktiska IP-adressen du vill tillåta anslutningar från. Detta kommando öppnar port 9200 för den angivna IP-adressen, vilket gör att den kan interagera med Elasticsearch.

Om du till exempel vill tillåta IP-adressen 192.168.0.2 att ansluta, skulle kommandot vara:

sudo ufw allow from 192.168.0.2 to any port 9200

Efter detta kommer din Debian-server att tillåta trafik från 192.168.0.2 för att komma åt Elasticsearch via port 9200. Kom ihåg att säkerheten för dina servrar är av största vikt, så se till att du endast ger åtkomst till betrodda IP-adresser.

Verifierar Elasticsearch 8-konfigurationen

Efter att ha modifierat din Elasticsearch-konfiguration är det viktigt att verifiera att ändringarna har implementerats korrekt och att din Elasticsearch-instans fungerar som förväntat.

Kontrollera Elasticsearch 8 Service Status

Kontrollera först statusen för din Elasticsearch-tjänst för att bekräfta att den är aktiv och igång. Du kan göra detta med följande kommando:

sudo systemctl status elasticsearch

Det här kommandot matar ut information om Elasticsearch-tjänsten, inklusive om den är aktiv och igång. Om inte kan du behöva felsöka problemet eller granska dina konfigurationsändringar.

Testa fjärråtkomst (valfritt)

Om du har aktiverat fjärråtkomst kan du testa det genom att försöka ansluta till din Elasticsearch-instans från en fjärrdator. Som diskuterats i föregående avsnitt måste IP-adressen du ansluter från vara tillåten i dina brandväggsregler.

Du kan använda curl-kommandot för detta ändamål:

curl https://<Your_Elasticsearch_IP>:9200

Byta ut med IP-adressen till din Elasticsearch-server. Om det lyckas bör detta kommando returnera information om din Elasticsearch-instans.

Validerar dataintegritet

Slutligen är det viktigt att verifiera integriteten hos dina Elasticsearch-data, särskilt om du har gjort ändringar i datakatalogen i din konfiguration. Elasticsearch tillhandahåller API:er som du kan använda för att kontrollera din datas status.

Till exempel, för att få status för alla index, använd följande kommando:

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

Detta kommando listar alla index i din Elasticsearch-instans och deras hälsostatus. Kontrollera hälsostatusen för dina index för att säkerställa att din data är säker och tillgänglig.

Obs: Kom ihåg att upprätthållande av integriteten och säkerheten för dina data alltid bör ha högsta prioritet. Dubbelkolla alltid dina ändringar, validera din konfiguration och övervaka din Elasticsearch-instans regelbundet. Detta hjälper dig att upprätthålla ett tillförlitligt, effektivt och säkert datahanteringssystem med Elasticsearch.

Interagera med Elasticsearch 8 via cURL

Det här avsnittet kommer att utforska vanliga kommandon som interagerar med din Elasticsearch 8-instans. Vi kommer att använda curl kommandoradsverktyg, ett flexibelt bibliotek för överföring av data med olika protokoll.

Ta bort ett index

Ett Elasticsearch-index är en uppsättning dokument som har liknande egenskaper. Om du har ett index med namnet samples som du vill ta bort, kan du göra det med följande kommando:

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

Det här kommandot skickar en HTTP DELETE-begäran till den angivna URL:en, som talar om för Elasticsearch att ta bort provindexet.

Listar alla index

För att hämta en lista över alla index i din Elasticsearch-instans, använd slutpunkten _cat/index med en GET-begäran så här:

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

Svaret kommer att lista alla index, inklusive indexets hälsa, status, storlek och antal dokument.

Hämta dokument från ett index

För att hämta alla dokument från ett specifikt index, säg exempel, använd slutpunkten _search:

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

Detta kommando hämtar alla dokument som är lagrade i exempelindexet.

Söker med URL-parametrar

Du kan använda Lucenes frågesyntax för grundläggande textsökningar. Om du till exempel vill hitta dokument där skolområdet är Harvard, skulle du använda:

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

Detta kommando skickar en GET-begäran till _search-slutpunkten med hjälp av q-parametern för frågan.

Söka med Elasticsearch Query DSL

För mer komplexa frågor kanske du föredrar att använda Elasticsearchs Query DSL, som låter dig använda JSON för att definiera frågor. Det här formatet är mer läsbart och mer tillgängligt för felsökning av komplexa frågor.

Här är ett exempel:

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

Det här kommandot gör samma sak som det föregående men använder JSON för frågedefinitionen. På så sätt är kommandot mer läsbart, särskilt när det hanteras mer komplexa frågor.

Lägga till och uppdatera dokument

För att lägga till ett nytt dokument till ett index kan du använda PUT-metoden tillsammans med _doc-slutpunkten. Till exempel, för att lägga till ett dokument med ID 1 och ett skolområde från Harvard till provindexet, skulle du använda:

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

För att uppdatera ett dokument kan du använda POST-metoden med slutpunkten _update. Till exempel, för att lägga till ett elevfält i dokumentet vi just skapade, skulle du använda:

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

Det här kommandot säger åt Elasticsearch att uppdatera dokumentet med ett ID på 1 i provindexet och lägga till ett studentfält med ett värde på 50000.

Dessa kommandon är bara ett litet exempel på vad du kan åstadkomma med Elasticsearch. Elasticsearch Query DSL

Hantera Elasticsearch 8 på Debian 12, 11 eller 10

Detta segment fördjupar sig i Elasticsearch 8-borttagningsprocessen från din Debian Linux-server. Du kanske vill göra detta av flera skäl, som att programvaran inte längre passar dina krav eller att du planerar att byta till en alternativ lösning. Oavsett dina skäl kommer stegen nedan att leda dig genom processen.

Borttagning av Elasticsearch 8 från Debian

Att radera Elasticsearch från din server innebär ett enkelt kommando. Kom dock ihåg att denna åtgärd är oåterkallelig och kommer att radera all associerad data. Här är kommandot att köra:

sudo apt remove elasticsearch

Genom att köra kommandot ovan avinstalleras Elasticsearch effektivt, vilket frigör alla tidigare tilldelade systemresurser.

Ta bort Elasticsearch APT Repository

Elasticsearch-förvaret kommer att finnas kvar på ditt system efter avinstallationen. Om du är säker på att du inte kommer att installera om Elasticsearch i framtiden, kan du lika gärna bli av med det för att undvika onödigt skräp.

Så här tar du bort Elasticsearch-förvaret:

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

Kommandot ovan kommer att ta bort Elasticsearch 8-förvaret från din Debian Linux-server.

Uppdaterar arkivlistan

Det sista steget är att uppdatera apt-paketlistan. Detta steg är viktigt för att säkerställa att ditt system inte överväger Elasticsearch 8 för framtida uppdateringar eller installationer.

Kommandot för att uppdatera din förvarslista är som följer:

sudo apt update

Slutsats

Med Elasticsearch 8 framgångsrikt installerat på ditt Debiansystem kan du utnyttja dess avancerade sök- och analysfunktioner för att hantera och analysera dina data effektivt. Uppdatera Elasticsearch regelbundet för att dra nytta av de senaste funktionerna och säkerhetsförbättringarna. Njut av de kraftfulla funktionerna i Elasticsearch 8.x, skräddarsydda för att möta kraven från modern datahantering och analys.

Joshua James
Följ mig
Senaste inläggen av Joshua James (se alla)

Lämna en kommentar