Ricerca nel sito web

Come installare OpenSearch su Ubuntu 22.04|20.04|18.04


OpenSearch è un motore di analisi creato utilizzando Apache Lucene con una ricerca distribuita. È facile eseguire una ricerca full-text sui dati archiviati in OpenSearch e usufruire di tutte le funzionalità disponibili in soluzioni alternative come Elasticsearch. Questo progetto è stato originariamente creato da Amazon come fork di Elasticsearch. La differenza principale tra i due è che OpenSearch si concentra su uno sviluppo aperto, guidato dalla comunità e trasparente. OpenSearch è noto per offrire prestazioni eccezionali con la possibilità di aumentare o diminuire in base alle necessità e ai requisiti del carico di lavoro dell'applicazione.

Un altro esempio di caso d'uso di OpenSearch riguarda l'analisi dei log. La tua applicazione può fornire registri a OpenSearch e tu utilizzi le sue ricche funzioni di ricerca e visualizzazione per individuare problemi nell'app come i tassi di errore. I dashboard OpenSearch vengono utilizzati per creare tutti i tipi di visualizzazioni di dati in OpenSearch adatti alla tua applicazione e ai requisiti di monitoraggio.

L'installazione di OpenSearch su Ubuntu 22.04|20.04|18.04 non è un processo difficile perché gli sviluppatori mantengono un repository APT attivo con i pacchetti più recenti. Costruire OpenSearch dal codice sorgente è un altro metodo di installazione, ma qual è la vera necessità di questo?. L'installazione utilizzando apt dal repository Deb è il metodo consigliato.

Aggiunta del repository APT OpenSearch

OpenSearch e OpenSearch Dashboards sono compatibili con tutte le recenti versioni LTS di Ubuntu Linux. Si consiglia vivamente di evitare l'uso di un file system di rete per archiviare i dati utilizzati da OpenSearch, in particolare per i flussi di lavoro di produzione.

Accedi al tuo sistema Ubuntu e assicurati che il sistema sia aggiornato:

sudo apt update && sudo apt upgrade -y

Se hai un file /var/run/reboot-required significa che è necessario un riavvio.

[ -e /var/run/reboot-required ] && sudo reboot

Installa alcuni pacchetti di dipendenze prima dell'aggiunta del repository.

sudo apt -y install curl lsb-release gnupg2 ca-certificates

Importa la chiave GPG pubblica per il repository APT da aggiungere.

curl -fsSL https://artifacts.opensearch.org/publickeys/opensearch.pgp|sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/opensearch.gpg

Successivamente aggiungiamo il repository APT per OpenSearch:

echo "deb https://artifacts.opensearch.org/releases/bundle/opensearch/2.x/apt stable main" | sudo tee /etc/apt/sources.list.d/opensearch-2.x.list

Verifica se il nostro repository è funzionante.

sudo apt update

Installa e configura OpenSearch

Per elencare tutte le versioni disponibili di OpenSearch nel repository che abbiamo aggiunto, esegui i comandi seguenti.

$ sudo apt list -a opensearch
Listing... Done
opensearch/stable 2.11.0 amd64
opensearch/stable 2.10.0 amd64
opensearch/stable 2.9.0 amd64
opensearch/stable 2.8.0 amd64
opensearch/stable 2.7.0 amd64
opensearch/stable 2.6.0 amd64
opensearch/stable 2.5.0 amd64

A meno che tu non abbia effettivamente bisogno di una versione specifica di OpenSearch, l'ultima versione disponibile di OpenSearch dovrebbe essere installata sul tuo sistema Ubuntu.

sudo apt install opensearch

È anche possibile installare una versione specifica di OpenSearch.

sudo apt install opensearch=<version>

Un esempio è opensearch=2.10.0

Il file di configurazione predefinito per OpenSearch è disponibile in /etc/opensearch/opensearch.yml. Puoi modificare questo file in base ai parametri desiderati dettati dalle applicazioni nel tuo ambiente.

sudo vim /etc/opensearch/opensearch.yml

Possiamo impostare alcuni esempi come il nome del cluster, l'indirizzo di collegamento, la porta HTTP e molti altri valori personalizzabili.

cluster.name: ocluster1
network.host: 0.0.0.0
http.port: 9200

Facoltativamente, disabilita le funzionalità di sicurezza per utilizzare http.

plugins.security.disabled: true

Imposta il nome del nodo per utilizzare il nome host configurato nel sistema.

node.name: ${HOSTNAME}

Per l'istanza singola, imposta il tipo di rilevamento su nodo singolo.

discovery.type: single-node

Dopo l'installazione e la configurazione di OpenSearch, avvia e abilita l'avvio del servizio all'avvio del sistema.

sudo systemctl restart opensearch
sudo systemctl enable --now opensearch

Controlla se il servizio OpenSearch è stato avviato correttamente.

$ systemctl status opensearch
 opensearch.service - OpenSearch
     Loaded: loaded (/lib/systemd/system/opensearch.service; enabled; vendor preset: enabled)
     Active: active (running) since Tue 2023-12-28 22:57:45 UTC; 9s ago
       Docs: https://opensearch.org/
   Main PID: 13398 (java)
      Tasks: 80 (limit: 4524)
     Memory: 1.2G
        CPU: 40.866s
     CGroup: /system.slice/opensearch.service
             └─13398 /usr/share/opensearch/jdk/bin/java -Xshare:auto -Dopensearch.networkaddress.cache.ttl=60 -Dopensearch.networkaddress.cache.negative.ttl=10 -XX:+AlwaysPreTouch -Xss1m -Djava.awt>

Nov 28 22:57:25 jammy systemd[1]: Starting OpenSearch...
Nov 28 22:57:45 jammy systemd[1]: Started OpenSearch.

È inoltre possibile modificare le dimensioni heap iniziali e massime della JVM. Guarda un esempio in cui impostiamo le dimensioni heap iniziale e massima su 1 GB e 2 GB di conseguenza:

$ sudo vim /etc/opensearch/jvm.options
-Xms1g
-Xmx2g

Riavviare il servizio dopo aver apportato le modifiche.

sudo systemctl restart opensearch

Installazione dei dashboard OpenSearch

È possibile installare OpenSearch Dashboards che fornisce una soluzione integrata per la visualizzazione e l'osservabilità dei dati.

Aggiungi il repository APT di OpenSearch Dashboards.

echo "deb https://artifacts.opensearch.org/releases/bundle/opensearch-dashboards/2.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/opensearch-2.x.list

Aggiorna l'indice del pacchetto e installa OpenSearch Dashboard.

sudo apt update && sudo apt install opensearch-dashboards

Per abilitare l'accesso dall'indirizzo IP esterno, impostalo su elencato su 0.0.0.0 (Ascolta su tutte le interfacce di rete)

$ sudo vim /etc/opensearch-dashboards/opensearch_dashboards.yml
server.host: 0.0.0.0
opensearch.hosts: [http://localhost:9200]

Altre opzioni possono essere modificate nel file. Al termine riavviare e abilitare il servizio.

sudo systemctl restart opensearch-dashboards
sudo systemctl enable opensearch-dashboards

Da un browser Web, accedere a OpenSearch Dashboards. La porta predefinita è 5601.

Gli accessi predefiniti sono:

  • Nome utente amministratore
  • Password amministratore

Testare e utilizzare OpenSearch

Abbiamo confermato che il nostro OpenSearch è ora in esecuzione sull'host. Possiamo verificare la connettività inviando una richiesta API utilizzando curl.

  • Senza funzionalità di sicurezza – plugins.security.disabled: true
$ curl -X GET http://localhost:9200
{
  "name" : "jammy",
  "cluster_name" : "ocluster1",
  "cluster_uuid" : "tl6Om148S_qOwcMoDKmSrA",
  "version" : {
    "distribution" : "opensearch",
    "number" : "2.11.0",
    "build_type" : "deb",
    "build_hash" : "4dcad6dd1fd45b6bd91f041a041829c8687278fa",
    "build_date" : "2023-10-13T02:57:02.526977318Z",
    "build_snapshot" : false,
    "lucene_version" : "9.7.0",
    "minimum_wire_compatibility_version" : "7.10.0",
    "minimum_index_compatibility_version" : "7.0.0"
  },
  "tagline" : "The OpenSearch Project: https://opensearch.org/"
}
  • Con funzionalità di sicurezza – plugins.security.disabled: false . Le credenziali di autenticazione sono sia adminper nome utente che password.
$ curl -X GET https://localhost:9200 -u 'admin:admin' --insecure
{
  "name" : "jammy",
  "cluster_name" : "ocluster1",
  "cluster_uuid" : "bJvBgpvsRtivZHgIH0yCXg",
  "version" : {
    "distribution" : "opensearch",
    "number" : "2.11.0",
    "build_type" : "deb",
    "build_hash" : "4dcad6dd1fd45b6bd91f041a041829c8687278fa",
    "build_date" : "2023-10-13T02:57:02.526977318Z",
    "build_snapshot" : false,
    "lucene_version" : "9.7.0",
    "minimum_wire_compatibility_version" : "7.10.0",
    "minimum_index_compatibility_version" : "7.0.0"
  },
  "tagline" : "The OpenSearch Project: https://opensearch.org/"
}

Per elencare i plugin installati esegui:

$ curl -X GET https://localhost:9200/_cat/plugins?v -u 'admin:admin' --insecure
name  component                            version
jammy opensearch-alerting                  2.11.0.0
jammy opensearch-anomaly-detection         2.11.0.0
jammy opensearch-asynchronous-search       2.11.0.0
jammy opensearch-cross-cluster-replication 2.11.0.0
jammy opensearch-custom-codecs             2.11.0.0
jammy opensearch-geospatial                2.11.0.0
jammy opensearch-index-management          2.11.0.0
jammy opensearch-job-scheduler             2.11.0.0
jammy opensearch-knn                       2.11.0.0
jammy opensearch-ml                        2.11.0.0
jammy opensearch-neural-search             2.11.0.0
jammy opensearch-notifications             2.11.0.0
jammy opensearch-notifications-core        2.11.0.0
jammy opensearch-observability             2.11.0.0
jammy opensearch-performance-analyzer      2.11.0.0
jammy opensearch-reports-scheduler         2.11.0.0
jammy opensearch-security                  2.11.0.0
jammy opensearch-security-analytics        2.11.0.0
jammy opensearch-sql                       2.11.0.0

Per http senza utilizzo di sicurezza:

curl -X GET http://localhost:9200/_cat/plugins?v

Scopri di più dalle pagine seguenti.

  • Documentazione ufficiale di OpenSearch
  • Iniziare con i dashboard di OpenSearch

Articoli correlati: