Introduzione
Apache Solr o Solr è una piattaforma di ricerca gratuita e open source basata sulla libreria Apache Lucene. Solr è l'acronimo di Searching On Lucene with Replication, è una piattaforma di ricerca di livello aziendale scritta in Java.
Solr è una piattaforma di ricerca altamente scalabile e affidabile con indicizzazione a tolleranza di errore e distribuita. Inoltre, viene fornito con replica e failover e ripristino automatizzati.
Nella maggior parte dei casi, Solr viene utilizzato per creare applicazioni di livello aziendale che offrono prestazioni elevate. Solr è utilizzato da alcuni grandi siti Internet come Adobe, Bloomberg, AT&T, Magento, Netflix, Instagram, ecc.
In questa guida imparerai come installare Apache Solr sul sistema Rocky Linux, abilitare l'autenticazione di base Solr, impostare il limite massimo di file aperti e il limite massimo di processi per la distribuzione di Solr e come creare il primo core Solr dalla riga di comando.
Se desideri installare Apache Solr su un server in remoto continua a leggere, altrimenti salta il primo paragrafo "Connessione al Server" e leggi il successivo.
Connessione al Server
Per accedere al server, è necessario conoscere l'indirizzo IP. Avrai anche bisogno dell'username e della password per l'autenticazione. Per connettersi al server come utente root digitare il seguente comando:
ssh root@IP_DEL_SERVER
Successivamente sarà necessario inserire la password dell'utente root.
Se non utilizzate l'utente root potete connettervi con un'altro nome utente utilizzando lo stesso comando, quindi modificare root con il vostro nome_utente:
ssh nome_utente@IP_DEL_SERVER
Successivamente vi verrà chiesto di inserire la password del vostro utente.
La porta standard per connettersi tramite ssh è la 22, se il vostro server utilizza una porta diversa, sarà necessario specificarla utilizzando il parametro -p, quindi digitare il seguente comando:
ssh nome_utente@IP_DEL_SERVER -p PORTA
Prerequisiti
Prima di iniziare, assicurati di avere i seguenti requisiti:
- Sistema operativo: Rocky Linux 8.5 (Ossidiana Verde)
- Memoria: 2 GB per il test
- CPU: 2
- Privilegi di root
Installare Java OpenJDK
Per installare Solr sul sistema Linux, è necessario almeno Java OpenJDK 1.8 o successivo. Rocky Linux fornisce più versioni di Java OpenJDK e, in questo esempio, installerai Java OpenJDK 1.11 per l'installazione di Solr.
Eseguire il comando DNF di seguito per installare Java OpenJDK 1.11 sul sistema Rocky Linux:
sudo dnf install java-11-openjdk java-11-openjdk-devel
Digitare ' y ' per confermare l'installazione e premere ' Invio ' per continuare.
Se l'installazione di java viene completata, verifica l'installazione utilizzando il comando seguente:
java --version
Di seguito è riportato l'output simile che otterrai.
openjdk 11.0.13 2021-10-19 LTS
OpenJDK Runtime Environment 18.9 (build 11.0.13+8-LTS)
OpenJDK 64-Bit Server VM 18.9 (build 11.0.13+8-LTS, mixed mode, sharing)
Hai completato l'installazione di Java OpenJDK 1.11 sul sistema Rocky Linux e sei pronto per scaricare e installare Solr sul tuo sistema.
Installare Solr su Rocky Linux
In questo passaggio, installerai l'ultima versione di Solr (la versione corrente è 8.11) sul sistema Rocky Linux. Installerai Solr utilizzando lo script di installazione incluso nel pacchetto Solr.
1Modificare la directory di lavoro corrente in '/opt' e scaricare il codice binario Solr utilizzando il comando seguente:
cd /opt/
wget https://downloads.apache.org/lucene/solr/8.11.0/solr-8.11.0.tgz
Al termine del processo di download, estrarre lo script di installazione dal pacchetto Solr:
tar xzf solr-8.11.0.tgz solr-8.11.0/bin/install_solr_service.sh --strip-components=2
Ora vedrai lo script di installazione di Solr 'install_solr_service.sh
'.
Eseguire lo script di installazione come di seguito per installare Solr:
tar xzf solr-8.11.0.tgz solr-8.11.0/bin/install_solr_service.sh --strip-components=2
Ora lo script di installazione installerà Solr nei seguenti dettagli:
- La directory di installazione è ' /opt/solr '.
- La directory dei dati di Solr sarà disponibile nella directory ' /var/solr '.
- Solr verrà eseguito come utente di sistema ' solr '.
- Definire lo script systemd per Solr con lo script ' solr '.
- Solr è ora in esecuzione sulla porta predefinita ' 8083 '.
Vedrai un messaggio di avviso sul limite di file e sul limite di processo per Solr, lo risolverai nel passaggio successivo. E il Solr è ora attivo e funzionante sulla porta '8983'.
Verifica la porta ' LISTEN ' sul tuo sistema usando il comando seguente:
ss -aplnt | grep java
Se l'installazione di Solr è corretta, vedrai che la porta '8983' è ora utilizzata dall'applicazione Java:
LISTEN 0 50 [::ffff:127.0.0.1]:7983 *:* users:(("java",pid=4512,fd=48))
LISTEN 0 50 *:8983 *:* users:(("java",pid=4512,fd=157))
Ora uccidi il processo Solr usando il seguente comando:
pkill java
kill -9 PID
PID è l'ID di processo dell'applicazione Solr. Puoi vedere il PID dell'applicazione Solr dal comando ss in alto.
Quindi, ricaricare il gestore di sistema per applicare il nuovo file di servizio systemd:
sudo systemctl daemon-reload
Successivamente, avviare e abilitare il servizio ' solr
' utilizzando il comando seguente:
sudo systemctl enable --now solr
Verifica il servizio ' solr
' utilizzando il comando seguente:
sudo systemctl status solr
Ora vedrai che il servizio 'solr
' è 'active (exited)'. Il servizio 'solr
' è in esecuzione, ma systemd non riesce a trovare alcun demone da monitorare.
Hai terminato l'installazione di base di Solr sul sistema Rocky Linux.
Impostare un limite per i file aperti e il massimo dei processi per l'utente Solr
Come puoi vedere in alto, durante l'installazione di Solr hai ricevuto un messaggio di avviso sul limite di file aperti e sul limite di processo. Solr ha richiesto il limite minimo di file aperti e il limite massimo di processi a " 65000 ".
Per risolvere questi messaggi di avviso, è necessario modificare la configurazione '/etc/security/limits.conf' e definire il limite massimo di file aperti e il limite massimo di processi per l'utente 'solr'.
Modifica la configurazione '/etc/security/limits.conf ' utilizzando nano editor:
sudo nano /etc/security/limits.conf
Copia e incolla la seguente configurazione in fondo alla riga:
solr soft nofile 65000
solr hard nofile 65000
solr soft nproc 65000
solr hard nproc 65000
Salva la configurazione ed esci.
Successivamente, verifica i limiti del file aperto e il numero massimo di utenti elaborati utilizzando quanto segue:
sudo -u solr ulimit -a
E vedrai il limite di file aperti e il limite massimo di processi utente a "65000".
Ora riavvia il servizio 'solr
' usando il comando seguente:
sudo systemctl restart solr
Ora hai completato la configurazione del limite massimo di file aperti e dei limiti massimi di processi per l'applicazione Solr.
Verificare l'installazione di Solr
Per verificare l'installazione di Solr, è necessario aggiungere la porta '8983' al firewalld, quindi è possibile accedere al dashboard dell'applicazione Web Solr.
Eseguire il comando firewall-cmd
di seguito per aggiungere la porta '8983' a firewalld e ricaricare:
sudo firewall-cmd --add-port=8983/tcp --permanent
sudo firewall-cmd --reload
Ora apri il tuo browser web e digita l'indirizzo IP del server con la porta '8983':
http://192.168.1.1:8983/
Vedrai la dashboard Solr.
Non ci sono autenticazione e autorizzazione abilitate nell'installazione Solr predefinita. Passa alla fase successiva per proteggere la distribuzione di Solr con autenticazione e autorizzazione.
Proteggere Solr con l'autenticazione di base
In questo passaggio imparerai come abilitare l'Autenticazione di base per Solr.
Per abilitare l'autenticazione di base Solr, è necessario creare un nuovo file di configurazione "security.json" e definire il modulo di autenticazione e autorizzazione. La configurazione 'security.json' deve trovarsi nella directory dei dati Solr '/var/solr/data'.
Inoltre, puoi controllare la directory dei dati di Solr dalla dashboard di Solr.
Cambia la tua directory di lavoro in '/var/solr/data' e crea un nuovo file di configurazione 'security.json' usando nano editor:
cd /var/solr/data/
sudo -u solr nano security.json
Copia e incolla la seguente configurazione:
{
"authentication":{
"blockUnknown": true,
"class":"solr.BasicAuthPlugin",
"credentials":{"solr":"IV0EHq1OnNrj6gvRCwvFwTrZ1+z1oBbnQdiVC3otuq0= Ndd7LKvVBAaZIF0QAVi1ekCfAJXr1GGfLtRUXhgrF8c="},
"realm":"My Solr users",
"forwardCredentials": false
},
"authorization":{
"class":"solr.RuleBasedAuthorizationPlugin",
"permissions":[{"name":"all", "role":"admin"}],
"user-role":{"solr":"admin"}
}
}
Salva la configurazione ed esci.
Questo creerà un nuovo utente amministratore 'solr' con la password' SolrRocks'
Quindi, riavvia il servizio 'solr
' per applicare una nuova configurazione utilizzando il comando systemctl riportato di seguito:
sudo systemctl restart solr
Per verificare l'autenticazione Solr, torna al tuo browser web e digita l'indirizzo IP del server con la porta Solr '8983':
http://192.168.1.1:8983/
Ora verrai reindirizzato alla pagina di accesso di Solr.
Digita il nome utente 'solr' e la password 'SolrRocks', quindi fai clic sul pulsante 'Login'.
E vedrai la dashboard di Solr.
Nella sezione "Sicurezza", vedrai un plug-in di autenticazione e autorizzazione dettagliato con il nome utente e i ruoli che stai attualmente utilizzando.
Ora hai protetto l'installazione di Solr con il plug-in di autenticazione di base.
Creare il Primo Solr Core
In Solr, il termine core si riferisce a un singolo indice Lucene ed è possibile creare più core in un'unica distribuzione Solr.
Ogni core contiene registri delle transazioni e file di configurazione come solrconfig.xml, file di schema, ecc. Inoltre, puoi indicizzare i dati con strutture diverse su ciascun core e possono essere presentati a diverse applicazioni/audience.
Puoi creare il core utilizzando la riga di comando 'solr' o utilizzando il dashboard di amministrazione di Solr.
In questo passaggio imparerai come creare un core usando la riga di comando 'solr'.
Prima di creare un core, è necessario configurare le credenziali Solr.
Cambia la tua directory di lavoro in '/opt/solr/bin' e copia la configurazione predefinita 'solr.in.sh.orig' in 'solr.in.sh':
cd /opt/solr/bin/
cp solr.in.sh.orig solr.in.sh
Modifica la configurazione 'solr.in.sh' usando nano editor:
sudo nano solr.in.sh
Decommenta l'opzione 'SOLR_AUTH_TYPE
' e cambia il valore in 'basic
'. Questo dirà al comando 'solr
' di utilizzare il plug-in di autenticazione di base:
SOLR_AUTH_TYPE="basic"
Decommentare l'opzione 'SOLR_AUTHENTICATION_OPTS
' e modificare il valore con l'utente e la password Solr come di seguito:
SOLR_AUTHENTICATION_OPTS="-Dbasicauth=solr:SolrRocks"
Salva la configurazione ed esci.
Quindi, crea un nuovo core usando il comando solr di seguito. In questo esempio, creerai un nuovo core con il nome 'new_core
' e il nome di configurazione 'ConfigName
':
su - solr -c "/opt/solr/bin/solr create -c new_core -n ConfigName"
Ora torna alla dashboard di amministrazione Solr per verificare il core Solr.
Vedrai i dettagli core.
E hai creato un core Solr usando la riga di comando "solr".
Conclusione
Congratulazioni! Hai imparato l'installazione di Solr sul sistema Rocky Linux. Inoltre, hai imparato come proteggere la distribuzione di Solr con il plug-in di autenticazione di base e hai imparato come creare il core dalla riga di comando "solr".