Kun for vores blogbesøgende Få yderligere 3 måneder gratis + 10% rabat på treårigt abonnement YSBLOG10
Få fat i aftalen

Sådan installeres ElasticSearch på Linux-server: Trin-for-trin-guide

Sådan installeres Elasticsearch på en Linux-server, tilføj Elastics officielle pakkelager, installer elasticsearch-pakken (8.x indeholder en sikker JDK), angiv kerne- og ulimit-parametre, konfigurer elasticsearch.yml (cluster.name, network.host, discovery.type), aktiver og start systemd-tjenesten, åbne porte 9200/9300, og bekræft med curl ved hjælp af de genererede legitimationsoplysninger og CA-certifikat.

Installation af Elasticsearch på en Linux-server giver dig en kraftfuld, hurtig og skalerbar søge- og analysemaskine til logfiler, metrikker og fuldtekstsøgning. Denne guide viser dig trin for trin, hvordan du installerer og konfigurerer Elasticsearch på Ubuntu/Debian og RHEL/CentOS/Rocky/Alma Linux, inklusive sikkerhed, ydeevnejustering og almindelige fejlfindingstips.

Hvad er Elasticsearch, og hvorfor implementerer du det på Linux?

Elasticsearch er en distribueret søge- og analysemaskine bygget på Apache Lucene. Det understøtter loganalyse, applikationssøgning, observerbarhed og sikkerhedsanalyse i stor skala. Linux er den foretrukne platform, fordi den tilbyder stærk ydeevne og forudsigelige ressourcer. management og førsteklasses support fra Elastics officielle pakker.

Forudsætninger for at installere Elasticsearch på Linux

  • Understøttet OS: Ubuntu 20.04/22.04/24.04, Debian 11/12, RHEL/CentOS/Rocky/Alma 8/9.
  • Ressourcer: Minimum 2 VCPU og 4 GB RAM til testning. Til produktion, 4+ vCPU og 8–32 GB RAM pr. node er almindelige.
  • Root- eller sudo-rettigheder og udgående internetadgang til Elastics repository.
  • Åbne porte: 9200 (HTTP) og 9300 (transport). Brug en firewall til at begrænse adgangen.
  • Præcis tidssynkronisering (Chrony eller NTP) for at forhindre klyngeproblemer.
  • Værtsnavn/FQDN er indstillet korrekt (især for klynger med flere noder).

Installer Elasticsearch på Ubuntu/Debian (Apt)

Elasticsearch 8.x leveres med en sikker JDK og aktiverer sikkerhed som standard. Brug det officielle Elastic APT-repository til stabile opdateringer.

# 1) Update and install prerequisites
sudo apt update
sudo apt install -y apt-transport-https ca-certificates curl gnupg

# 2) Add Elastic GPG key and repository
curl -fsSL https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo gpg --dearmor -o /usr/share/keyrings/elasticsearch-keyring.gpg
echo "deb [signed-by=/usr/share/keyrings/elasticsearch-keyring.gpg] https://artifacts.elastic.co/packages/8.x/apt stable main" | sudo tee /etc/apt/sources.list.d/elastic-8.x.list

# 3) Install Elasticsearch
sudo apt update
sudo apt install -y elasticsearch

# 4) Enable and start the service
sudo systemctl daemon-reload
sudo systemctl enable --now elasticsearch

# 5) Watch logs (first run prints security info)
sudo journalctl -u elasticsearch -f

Ved første opstart genererer Elasticsearch 8 brugeradgangskoden til elastic og et HTTP CA-certifikat. Disse vises i loggene. Hvis det er nødvendigt, nulstil adgangskoden interaktivt:

sudo /usr/share/elasticsearch/bin/elasticsearch-reset-password -u elastic -i

Installer Elasticsearch på RHEL/CentOS/Rocky/Alma (YUM/DNF)

Opret YUM/DNF-arkivet og installer RPM-pakken.

# 1) Create the Elastic repository
sudo tee /etc/yum.repos.d/elasticsearch.repo >/dev/null <<'EOF'
[elasticsearch-8.x]
name=Elasticsearch repository for 8.x packages
baseurl=https://artifacts.elastic.co/packages/8.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md
EOF

# 2) Install Elasticsearch
sudo dnf install -y elasticsearch || sudo yum install -y elasticsearch

# 3) Enable and start the service
sudo systemctl daemon-reload
sudo systemctl enable --now elasticsearch

# 4) Follow logs
sudo journalctl -u elasticsearch -f

Hvis du har brug for at nulstille den elastiske brugeradgangskode senere:

sudo /usr/share/elasticsearch/bin/elasticsearch-reset-password -u elastic -i

Vigtige systemindstillinger (alle Linux)

Kernen og grænserne

Konfigurer antallet af Linux-hukommelseskort og filbeskrivelser for at undgå fejl under bootstrap-kontrol.

# Set vm.max_map_count
echo "vm.max_map_count=262144" | sudo tee /etc/sysctl.d/99-elasticsearch.conf
sudo sysctl --system

# Increase file descriptors and processes for the elasticsearch user
sudo tee -a /etc/security/limits.d/90-elasticsearch.conf >/dev/null <<'EOF'
elasticsearch soft nofile 65535
elasticsearch hard nofile 65535
elasticsearch soft nproc  4096
elasticsearch hard nproc  4096
EOF

# Optional: allow memory locking for mlockall (if you enable it in elasticsearch.yml)
sudo systemctl edit elasticsearch <<'EOF'
[Service]
LimitMEMLOCK=infinity
EOF

Firewallregler

Begræns adgang til betroede værter, især for produktionsklynger.

# UFW (Ubuntu/Debian)
sudo ufw allow 9200/tcp
sudo ufw allow 9300/tcp

# firewalld (RHEL/Rocky/Alma)
sudo firewall-cmd --add-port=9200/tcp --permanent
sudo firewall-cmd --add-port=9300/tcp --permanent
sudo firewall-cmd --reload

Konfigurer Elasticsearch (enkelt node eller klynge)

Rediger /etc/elasticsearch/elasticsearch.yml. For en udviklings- eller single-node-server skal du bruge discovery.type: single-node. For produktionsklynger skal du definere seed-værter og initiale masternoder.

sudo cp /etc/elasticsearch/elasticsearch.yml /etc/elasticsearch/elasticsearch.yml.bak
sudo nano /etc/elasticsearch/elasticsearch.yml

# Example: single-node (dev/test)
cluster.name: my-es-dev
node.name: node-1
path.data: /var/lib/elasticsearch
path.logs: /var/log/elasticsearch
network.host: 0.0.0.0
http.port: 9200
discovery.type: single-node
# Example: multi-node (production)
cluster.name: prod-es-cluster
node.name: es-node-1
path.data: /var/lib/elasticsearch
path.logs: /var/log/elasticsearch
network.host: 10.0.0.10
http.port: 9200
discovery.seed_hosts: ["10.0.0.10","10.0.0.11","10.0.0.12"]
cluster.initial_master_nodes: ["es-node-1","es-node-2","es-node-3"]

Genstart tjenesten efter ændringerne:

sudo systemctl restart elasticsearch
sudo systemctl status elasticsearch --no-pager

Indstil heapstørrelse (JVM) for ydeevne

Elasticsearchs ydeevne afhænger i høj grad af JVM heap-størrelsen. Indstil både Xms og Xmx til den samme værdi, typisk 50% af systemet. RAM op til 31 g (for at holde ups komprimeret).

# Edit JVM options (example: 4 GB server → 2 GB heap)
sudo nano /etc/elasticsearch/jvm.options

# Set:
-Xms2g
-Xmx2g

Genstart Elasticsearch efter redigering for at anvende den.

Sikkerhed i Elasticsearch 8.x

Sikkerhed er som standard slået til i 8.x: TLS til HTTP, grundlæggende godkendelse og indbyggede brugere. Hent CA-certifikatet for sikre curl-anmodninger og manage adgangskoder med indbyggede værktøjer.

# Default CA certificate path (package installs)
ls -l /etc/elasticsearch/certs/http_ca.crt

# Reset the elastic user's password (if needed)
sudo /usr/share/elasticsearch/bin/elasticsearch-reset-password -u elastic -i

# Create an enrollment token for Kibana (optional)
sudo /usr/share/elasticsearch/bin/elasticsearch-create-enrollment-token -s kibana

Bekræft installationen

Brug curl med den elastiske bruger og HTTP CA-certifikatet til at bekræfte, at noden er i orden.

# Replace <ELASTIC_PASSWORD> with your actual password
curl --cacert /etc/elasticsearch/certs/http_ca.crt -u elastic:<ELASTIC_PASSWORD> https://localhost:9200

# Check cluster health
curl --cacert /etc/elasticsearch/certs/http_ca.crt -u elastic:<ELASTIC_PASSWORD> https://localhost:9200/_cluster/health?pretty

Installer nyttige Elasticsearch-plugins

Udvid funktionaliteten med officielle plugins, og genstart derefter tjenesten.

# ICU analysis (internationalization)
sudo /usr/share/elasticsearch/bin/elasticsearch-plugin install analysis-icu

# Ingest attachment (process PDFs/Office docs)
sudo /usr/share/elasticsearch/bin/elasticsearch-plugin install ingest-attachment

# Restart after plugin installs
sudo systemctl restart elasticsearch

Bedste praksis og ydeevnejustering

  • Brug SSD-lager og monter med noatime for at reducere I/O-overhead.
  • Afsæt 50% af RAM til JVM-heapen (maks. ~31 GB), hvilket efterlader resten til Lucene-sidecachen.
  • Hold Xms og Xmx ens; undgå at bytte om. Overvej at aktivere hukommelseslåsning.
  • Implementer 3+ master-berettigede noder for at undgå split-brain; brug ulige optællinger.
  • Pin (Binding) CPU ressourcer eller brug cgroups for forudsigelig ydeevne på delte værter.
  • Brug indekslivcyklus management (ILM) til at overføre og slette gamle data.
  • Tag regelmæssigt snapshots til S3, GCS eller en NFS-deling til sikkerhedskopiering.
  • Overvåg med Elastic Stack, Prometheus-eksportører og systemmålinger.
  • Begræns http-eksponering; brug private netværk, VPN'er eller omvendte proxyer med godkendelse.

Fejlfinding af almindelige fejl

  • Maks. antal virtuelle hukommelsesområder vm.max_map_count er for lavt: Indstil til 262144 og genindlæs sysctl.
  • max file descriptors [4096] for elasticsearch-processen er for lav: Øg nofile til 65535.
  • Bootstrap-tjek mislykkedes: Disse vises, når der bindes til ikke-loopback-adresser. Ret kernel/limits og JVM, og genstart derefter.
  • BindException: Adresse allerede i brug: En anden proces bruger 9200/9300. Stop den eller skift porte.
  • Tilladelse nægtet på datastien: Sørg for, at /var/lib/elasticsearch ejes af elasticsearch-brugeren.
  • Godkendelsesfejl: Nulstil den elastiske adgangskode, og brug den genererede http_ca.crt med curl.
  • Klynge dannes ikke: Valider network.host, discovery.seed_hosts og cluster.initial_master_nodes; tjek firewall og DNS.

Opgraderinger, ventepositioner og afinstallationer

Opgrader mellem 8.x-versioner

  • Gennemgå udgivelsesnoterne, og sørg for, at alle plugins understøtter målversionen.
  • Tag først et øjebliksbillede af dine data.
  • Rullende opgradering: Opgrader én node ad gangen, vent på grønt helbred, og fortsæt derefter.
# Debian/Ubuntu
sudo apt update
sudo apt install elasticsearch

# RHEL family
sudo dnf upgrade elasticsearch || sudo yum update elasticsearch

Hold eller fastlås version

# Ubuntu/Debian
sudo apt-mark hold elasticsearch

# RHEL family (requires yum-plugin-versionlock)
sudo dnf install -y python3-dnf-plugin-versionlock || sudo yum install -y yum-plugin-versionlock
sudo dnf versionlock add elasticsearch || sudo yum versionlock add elasticsearch

Afinstaller

# Stop and remove
sudo systemctl stop elasticsearch
sudo apt remove --purge -y elasticsearch && sudo apt autoremove -y
# or
sudo dnf remove -y elasticsearch || sudo yum remove -y elasticsearch

# Optional: remove data and logs (irreversible)
sudo rm -rf /var/lib/elasticsearch /var/log/elasticsearch

Selvhostet vs. administreret Elasticsearch

At køre Elasticsearch selv giver fuld kontrol og omkostningseffektivitet, men du ejer patching, skalering og 24/7 overvågning. Administrerede muligheder reducerer den driftsmæssige byrde.

  • Selvhostet: Maksimal fleksibilitet; ideel til brugerdefinerede plugins og streng datalokalitet. Kræver ekspertise i Linux, JVM og cluster operations.
  • Administreret: Hurtigere til markedet; forudsigelige SLA'er; indbygget overvågning og backup. Lidt højere omkostninger, færre lavniveau-knapper.

Hvis du foretrækker et pålideligt fundament for selvhostede klynger, YouStable tilbyder SSD-drevet VPS og dedikerede servere med privat netværk og DDoS-beskyttelse – optimeret til Elasticsearch og Elastic Stack. Vores eksperter kan hjælpe med at dimensionere noder, finjustere JVM og sikre din klynge uden at overforbruge.

Brugsscenarier i den virkelige verden på Linux

  • Loganalyse med Filebeat/Logstash-forsendelse til en hot-warm ILM-politik.
  • Appsøgning med synonymfiltrering og ICU-analyse for flersproget indhold.
  • Sikkerhedsanalyser, der indtager hændelser fra servere, firewalls og cloudplatforme.
  • Metrikker og spor via Elastic APM til fejlfinding af ydeevneregressioner.

Ofte stillede spørgsmål: Installer Elasticsearch på Linux-server

1) Hvordan installerer jeg Elasticsearch hurtigt på Ubuntu 22.04?

Tilføj Elastics APT-repository, installer elasticsearch, aktiver tjenesten, og bekræft med curl ved hjælp af CA-certifikatet. Se afsnittet Ubuntu/Debian ovenfor for præcise kommandoer. Elasticsearch 8.x bundter en JDK og aktiverer sikkerhed som standard.

2) Hvad er minimumssystemkravene for Elasticsearch?

Til test: 2 VCPU, 4 GB RAMog 20 GB SSD. Til produktion: 4+ vCPU, 8–32 GB RAM pr. node, SSD-lager og en dedikeret datadisk. Alloker halvdelen af RAM til JVM-heapen (maks. ~31 GB).

3) Hvordan ændrer jeg Elasticsearch-heapstørrelsen på Linux?

Rediger /etc/elasticsearch/jvm.options og indstil -Xms og -Xmx til den samme værdi (f.eks. 2g). Genstart elasticsearch-tjenesten. Undgå swapping, og overvej at aktivere hukommelseslåning for at forhindre heap i at blive swapet ud.

4) Hvordan sikrer jeg Elasticsearch?

Elasticsearch 8 aktiverer TLS og godkendelse som standard. Brug den genererede http_ca.crt med curl, nulstil den elastiske adgangskode om nødvendigt, begræns adgang med firewalls/VPN'er, og undgå at eksponere port 9200 for internettet. For 7.x, aktiver xpack.security og konfigurer TLS manuelt.

5) Hvordan kan jeg bekræfte, at installationen er i orden?

Kør curl mod https://localhost:9200 ved hjælp af CA-certifikatet og elastic-legitimationsoplysningerne, og tjek derefter /_cluster/health og logs (journalctl -u elasticsearch). Tilstanden skal være grøn eller gul, ikke rød. Undersøg eventuelle shard-allokerings- eller bootstrap-advarsler.

6) Skal jeg bruge Elasticsearch eller OpenSearch på Linux?

Elasticsearch tilbyder de nyeste Elastic-funktioner og kommercielle muligheder; OpenSearch er en community fork, der er kompatibel med mange 7.x API'er. Vælg baseret på licenser, funktioner og økosystembehov. Bland ikke noder på tværs af produkter i den samme klynge.

7) Kan jeg køre Elasticsearch i en container på Linux?

Ja. Docker og Kubernetes er populære til orkestrering. Sørg for, at vm.max_map_count er indstillet på værten, alloker persistent storage, og finjuster ressourcer. For bare-metal-ydeevne og forudsigelig I/O foretrækker mange produktionsteams stadig VM eller dedikerede servere.

Konklusion

Med de officielle repositories er det ligetil at installere Elasticsearch på Linux. Prioritér sikre standardindstillinger, korrekte systemgrænser og korrekt heap-størrelse. Start småt, verificér med curl, og skalér derefter til en robust klynge med 3+ noder. Har du brug for et hurtigt og pålideligt fundament? YouStable's SSD VPS og dedikerede servere er et godt valg til Elasticsearch i produktionsklassen.

Del via:

Prahlad Prajapati

Prahlad er webhosting-specialist og SEO-fokuseret ekspert i organisk vækst fra Indien. Han har været aktiv i det digitale rum siden 2019 og hjælper folk med at vækste deres hjemmesider gennem rene, bæredygtige strategier. Han brænder for at lære og tilpasse sig hurtigt og mener, at små detaljer skaber stor succes. Opdag hans indsigt i webhosting og SEO for at forbedre din online tilstedeværelse.

Efterlad en kommentar

Din e-mail adresse vil ikke blive offentliggjort. Krævede felter er markeret *

Rul til top