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