// tehnologie

Cum instalezi și configurezi Elasticsearch pe un VPS Linux: ghid complet

September 05, 2026 · by Alex M.

Cum instalezi și configurezi Elasticsearch pe un VPS Linux: ghid complet

Elasticsearch este unul dintre cele mai populare motoare de căutare și analiză open-source din lume. Dacă ai un site cu volum mare de date, un magazin online, o platformă de loguri sau pur și simplu vrei căutare full-text rapidă în aplicația ta, Elasticsearch este soluția de referință. În acest ghid vei afla cum să instalezi, configurezi și securizezi Elasticsearch pe un VPS NVMe sau VPS SSD cu Linux (Ubuntu 22.04).

Ce este Elasticsearch și de ce îl folosim?

Elasticsearch este construit pe baza bibliotecii Apache Lucene și oferă:

  • Căutare full-text cu relevanță și filtrare avansată
  • Analiză în timp real a datelor structurate și nestructurate
  • Scalabilitate orizontală prin clustering și sharding
  • API REST simplu pentru integrare cu orice limbaj de programare
  • Ecosistem ELK (Elasticsearch + Logstash + Kibana) pentru monitorizare și vizualizare

Pentru a rula Elasticsearch fără probleme în producție, ai nevoie de un server cu minimum 2 GB RAM și 2 vCPU. Recomandăm un VPS NVMe pentru performanță maximă la operațiuni de indexare intensivă.

Cerințe preliminare

Înainte de a începe, asigură-te că ai:

  • Un VPS cu Ubuntu 22.04 (sau Debian 11/12)
  • Acces root sau utilizator cu privilegii sudo
  • Java 17+ instalat (Elasticsearch 8.x include OpenJDK bundled)
  • Portul 9200 (HTTP) și 9300 (transport) disponibil
  • Un firewall configurat (UFW sau iptables)

Pasul 1: Actualizează sistemul

Începe întotdeauna cu un update complet al pachetelor:

sudo apt update && sudo apt upgrade -y

Pasul 2: Adaugă repository-ul oficial Elasticsearch

Elasticsearch nu se află în repository-urile implicite Ubuntu. Adaugă sursa oficială Elastic:

# Importă cheia GPG
wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo gpg --dearmor -o /usr/share/keyrings/elasticsearch-keyring.gpg

# Adaugă repository-ul pentru versiunea 8.x
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

# Actualizează lista de pachete
sudo apt update

Pasul 3: Instalează Elasticsearch

sudo apt install elasticsearch -y

După instalare, sistemul va afișa în terminal o parolă temporară pentru utilizatorul elastic — salveaz-o imediat!

The generated password for the elastic built-in superuser is:
XXXXXXXXXXXXXXXXXXX

Pasul 4: Configurarea fișierului elasticsearch.yml

Fișierul principal de configurare se află la /etc/elasticsearch/elasticsearch.yml. Deschide-l cu un editor:

sudo nano /etc/elasticsearch/elasticsearch.yml

Modifică sau verifică următoarele setări esențiale:

# Numele clusterului (unic în rețea)
cluster.name: my-cluster

# Numele nodului
node.name: node-1

# Directorul unde se stochează datele
path.data: /var/lib/elasticsearch

# Directorul pentru loguri
path.logs: /var/log/elasticsearch

# Adresa de ascultare (127.0.0.1 pentru uz local; 0.0.0.0 pentru rețea)
network.host: 127.0.0.1

# Portul HTTP
http.port: 9200

# Configurare single-node (pentru VPS standalone)
discovery.type: single-node

# Activare securitate X-Pack
xpack.security.enabled: true

Recomandare: Dacă rulezi Elasticsearch doar pentru aplicația de pe același server, lasă network.host: 127.0.0.1 pentru securitate maximă.

Pasul 5: Configurarea memoriei JVM

Elasticsearch consumă multă memorie heap Java. Ajustează limitele în funcție de RAM-ul disponibil:

sudo nano /etc/elasticsearch/jvm.options.d/jvm-custom.options

Adaugă (pentru un VPS cu 4 GB RAM, alocă 2 GB pentru Elasticsearch):

-Xms2g
-Xmx2g

Regula de aur: nu aloca mai mult de 50% din RAM-ul total și nu depăși 32 GB.

Pasul 6: Configurarea limitelor de sistem

Elasticsearch necesită anumite ajustări ale kernel-ului Linux:

# Crește limita de descriptori de fișiere
sudo sh -c 'echo "elasticsearch soft nofile 65536" >> /etc/security/limits.conf'
sudo sh -c 'echo "elasticsearch hard nofile 65536" >> /etc/security/limits.conf'

# Setează vm.max_map_count (obligatoriu pentru Elasticsearch)
sudo sysctl -w vm.max_map_count=262144

# Fă setarea permanentă
echo 'vm.max_map_count=262144' | sudo tee -a /etc/sysctl.conf

Pasul 7: Pornește și activează serviciul

sudo systemctl daemon-reload
sudo systemctl enable elasticsearch
sudo systemctl start elasticsearch

Verifică starea serviciului:

sudo systemctl status elasticsearch

Ar trebui să vezi Active: active (running).

Pasul 8: Testează instalarea

Verifică dacă Elasticsearch răspunde corect:

curl -k -u elastic:PAROLA_TA https://localhost:9200

Răspunsul de succes arată astfel:

{
  "name" : "node-1",
  "cluster_name" : "my-cluster",
  "version" : {
    "number" : "8.x.x",
    "lucene_version" : "9.x.x"
  },
  "tagline" : "You Know, for Search"
}

Pasul 9: Resetarea parolei și gestionarea utilizatorilor

Dacă ai pierdut parola inițială, o poți reseta astfel:

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

Pentru a crea un utilizator nou cu rol limitat:

sudo /usr/share/elasticsearch/bin/elasticsearch-users useradd myuser -p parolamea -r viewer

Pasul 10: Securizarea accesului cu Firewall

Dacă nu ai configurat deja un firewall pe VPS-ul tău Linux, iată cum blochezi portul 9200 pentru accesul extern:

# Permite accesul doar de pe localhost
sudo ufw deny 9200
sudo ufw deny 9300
sudo ufw allow ssh
sudo ufw enable

Dacă ai nevoie de acces de pe un alt server (ex. un server de aplicații separat), permite doar IP-ul specific:

sudo ufw allow from 1.2.3.4 to any port 9200

Pentru securitate avansată, poți folosi serviciile de administrare servere CLIQHOST, unde experții noștri configurează și monitorizează infrastructura ta.

Operațiuni de bază cu API-ul REST

Odată pornit, poți interacționa cu Elasticsearch prin cereri HTTP:

Crearea unui index

curl -k -u elastic:PAROLA -X PUT "https://localhost:9200/produse?pretty"

Adăugarea unui document

curl -k -u elastic:PAROLA -X POST "https://localhost:9200/produse/_doc/1?pretty" \
-H 'Content-Type: application/json' \
-d '{
  "nume": "Laptop Asus",
  "pret": 3500,
  "categorie": "electronice"
}'

Căutare simplă

curl -k -u elastic:PAROLA -X GET "https://localhost:9200/produse/_search?q=Laptop&pretty"

Căutare avansată (Query DSL)

curl -k -u elastic:PAROLA -X GET "https://localhost:9200/produse/_search?pretty" \
-H 'Content-Type: application/json' \
-d '{
  "query": {
    "range": {
      "pret": { "gte": 1000, "lte": 5000 }
    }
  }
}'

Optimizări pentru producție

Pentru un mediu de producție stabil pe un server dedicat sau VPS, aplică aceste bune practici:

  1. Snapshot-uri regulate — configurează backup automat al indicilor în S3 sau local
  2. Index Lifecycle Management (ILM) — arhivează automat indicii vechi
  3. Monitorizare — integrează cu Kibana sau cu soluții externe de monitorizare
  4. Replica shards — configurează cel puțin un shard replica pentru redundanță
  5. Slow log — activează logarea interogărilor lente pentru depanare
# Adaugă în elasticsearch.yml
index.search.slowlog.threshold.query.warn: 10s
index.search.slowlog.threshold.fetch.warn: 1s

Gestionarea logurilor Elasticsearch

Logurile sunt salvate în /var/log/elasticsearch/. Monitorizează erorile cu:

sudo tail -f /var/log/elasticsearch/my-cluster.log

Pentru gestionarea eficientă a fișierelor de log pe termen lung, consultă ghidurile din blogul CLIQHOST.

Concluzie

Elasticsearch este un instrument puternic, dar necesită resurse și atenție la configurare. Cu pașii din acest ghid ai o instalare funcțională, securizată și optimizată pentru un VPS Linux. Cheia succesului stă în alocarea corectă a memoriei, securizarea accesului și monitorizarea continuă.

Dacă ai nevoie de o infrastructură performantă și stabilă pentru Elasticsearch, explorează ofertele VPS NVMe de la CLIQHOST — stocare rapidă, resurse dedicate și suport tehnic disponibil. Pentru proiecte de anvergură, serverele dedicate managed oferă puterea de calcul și asistența tehnică de care ai nevoie. Contactează-ne pentru o soluție personalizată.

SHARE
// ce spun clienții

Ce spun clienții noștri

Recenzii reale de la clienți care au ales CLIQHOST pentru performanță, fiabilitate și suport tehnic.

★★★★★

"We moved our online shop from a foreign host and the difference is night and day — pages load instantly and support replies in minutes, in Romanian."

AM
Andrei M.
eCommerce owner · Chișinău
★★★★★

"Migrated 12 client sites to CLIQHOST. Free migration, zero downtime, and the cPanel setup is exactly what my team needed. Highly recommend."

EV
Elena V.
Web agency · Bălți
★★★★★

"Our NVMe VPS handles traffic spikes without a sweat. Full root, local datacenter, and billing in MDL — everything we wanted from a provider."

DC
Dmitri C.
SaaS founder · Chișinău