Apache Solr installeren op Rocky Linux

Apache Solr of Solr is een gratis en open-source zoekplatform dat gebaseerd is op de Apache Lucene bibliotheek. Solr staat voor Searching On Lucene with Replication, het is een enterprise-grade zoekplatform geschreven in Java.

Solr is een zeer schaalbaar en betrouwbaar zoekplatform met fouttolerante en gedistribueerde indexering. Ook wordt het geleverd met replicatie en automatische failover en herstel.

In de meeste gevallen wordt Solr gebruikt om bedrijfs-grade toepassingen te bouwen die hoge prestaties leveren. Solr wordt gebruikt door enkele grote internet sites zoals Adobe, Bloomberg, AT&T, Magento, Netflix, Instagram, enz.

In deze gids leer je hoe je Apache Solr op het Rocky Linux systeem installeert, Solr basis authenticatie inschakelt, max open bestanden limiet en max processen limiet instelt voor de toepassing van Solr, en hoe je de eerste Solr kern vanaf de commandoregel maakt.

Vereisten

Voor je begint moet je zeker weten dat je de volgende vereisten hebt:

  • Besturingssysteem: Rocky Linux 8.5 (Green Obsidian)
  • Geheugen: 2 GB om te testen
  • CPU’s: 2
  • Root voorrechten

Laten we nu aan de slag gaan.

Installeren van Java OpenJDK

Om Solr op een Linux systeem te installeren, heb je tenminste Java OpenJDK 1.8 of hoger nodig. Rocky Linux levert meerdere versies van Java OpenJDK, en in dit voorbeeld installeer je de Java OpenJDK 1.11 voor de Solr installatie.

1. Voer het onderstaande DNF commando uit om Java OpenJDK 1.11 op het Rocky Linux systeem te installeren.

sudo dnf install java-11-openjdk java-11-openjdk-devel

Typ‘y‘ om de installatie te bevestigen en druk op‘Enter‘ om verder te gaan.

2. Als de installatie van java voltooid is, controleer je de installatie met het volgende commando.

java --version

Hieronder staat de gelijkaardige uitvoer die je krijgt.

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)

Je hebt de Java OpenJDK 1.11 installatie op het Rocky Linux systeem voltooid, en je bent klaar om Solr te downloaden en op je systeem te installeren.

Solr installeren op Rocky Linux

In deze stap installeer je de nieuwste versie van Solr (de huidige versie is 8.11) op het Rocky Linux systeem. Je installeert Solr met het installatiescript dat in het Solr pakket zit.

1. Verander je huidige werkdirectory in ‘/opt’ en download de binaire code van Solr met het volgende commando.

cd /opt/
wget https://downloads.apache.org/lucene/solr/8.11.0/solr-8.11.0.tgz

2. Nadat het downloadproces voltooid is, pak je het installatie-script uit het Solr pakket.

tar xzf solr-8.11.0.tgz solr-8.11.0/bin/install_solr_service.sh --strip-components=2

Nu zie je het Solr installer script‘install_solr_service.sh‘.

3. Voer het installer script uit zoals hieronder om Solr te installeren.

sudo bash ./install_solr_service.sh solr-8.11.0.tgz -i /opt -d /var/solr -u solr -s solr -p 8983

Nu zal het installatie-script Solr installeren op de volgende details:

  • De installatiemap is‘/opt/solr‘.
  • De gegevensmap van Solr zal beschikbaar zijn in de map‘/var/solr‘.
  • Solr zal draaien als systeemgebruiker‘solr‘.
  • Definieer het systemd script voor Solr met het script‘solr‘.
  • Solr draait nu op de standaard poort‘8083‘.

En je ziet een soortgelijke uitvoer als hieronder als de installatie van Solr voltooid is.

Installeren van Apache Solr

Je ziet een waarschuwing over bestandslimiet en proceslimiet voor Solr, die je bij de volgende stap oplost. En de Solr is nu up and running op poort ‘8983’.

4. Verifieer de‘LISTEN‘ poort op je systeem met het volgende commando.

ss -aplnt | grep java

Als de Solr installatie juist is, zie je dat de poort ‘8983’ nu door de Java toepassing gebruikt wordt.

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))

Dood nu het Solr proces met het volgende commando.

pkill java
kill -9 PID

PID is het proces id van de Solr toepassing. Je kunt de PID van de Solr toepassing zien in het ss commando bovenaan.

5. Herlaad vervolgens de systeembeheerder om het nieuwe systemd dienstbestand toe te passen.

sudo systemctl daemon-reload

6. Start daarna de service‘solr‘ en schakel die in met het volgende commando.

sudo systemctl enable --now solr

Verifieer de‘solr‘ dienst met het onderstaande commando.

sudo systemctl status solr

Je ziet nu dat de ‘solr’ dienst ‘active (exited)’ is. De ‘solr’ dienst draait, maar de systemd kan geen daemon vinden om te monitoren.

Start en schakel Solr in

En je bent klaar met de basis Solr installatie op het Rocky Linux systeem.

Instelling Grenzen Open Bestanden en Max. Processen voor Solr gebruiker

Zoals je bovenaan kunt zien, kreeg je tijdens de Solr installatie een waarschuwing over de open bestandslimiet en proceslimiet. Solr vereiste dat de minimum open bestanden limiet en de max processen limiet op‘65000‘ stonden.

Om deze waarschuwingen op te lossen, moet je de instelling‘/etc/security/limits.conf’ bewerken en de max open bestandslimiet en max proceslimiet voor de gebruiker ‘solr’ instellen.

1. Bewerk de configuratie‘/etc/security/limits.conf‘ met nano editor.

sudo nano /etc/security/limits.conf

Kopieer en plak de volgende configuratie onderaan de regel.

solr   soft   nofile   65000
solr   hard   nofile   65000
solr   soft   nproc    65000
solr   hard   nproc    65000

Sla de configuratie op en sluit af.

2. Controleer vervolgens de limieten open bestand en max gebruiker verwerkt met het volgende.

sudo -u solr ulimit -a

En je ziet dat de limiet voor open bestanden en max gebruiker verwerkt op‘65000‘ staat, zoals hieronder.

Instelling begrenzing

3. Herstart nu de‘solr‘ dienst met het volgende commando.

sudo systemctl restart solr

Nu heb je de instelling van max open bestanden limiet en max verwerkte processen limiet voor de Solr toepassing voltooid.

Verifieer Solr installatie

Om de Solr installatie te verifiëren moet je de poort‘8983‘ aan de firewalld toevoegen, dan kun je het dashboard van de Solr webapplicatie benaderen.

1. Voer het onderstaande firewall-cmd commando uit om poort‘8983‘ aan firewalld toe te voegen en herlaad.

sudo firewall-cmd --add-port=8983/tcp --permanent
sudo firewall-cmd --reload

2. Open nu je webbrowser en typ het IP adres van de server met poort‘8983‘ zoals hieronder.

http://192.168.1.10:8983/

En je ziet het Solr dashboard zoals hieronder.

Solr Dashboard

Er is geen authenticatie en autorisatie ingeschakeld op de standaard Solr installatie. Ga naar de volgende stap om de Solr installatie te beveiligen met authenticatie en autorisatie.

Solr beveiligen met basisauthenticatie

In deze stap leer je hoe je de ‘Basis Authenticatie voor Solr’ inschakelt.

Om Solr Basis Authenticatie in te schakelen, moet je een nieuw configuratiebestand‘security.json‘ maken, en de authenticatie en autorisatie module definiëren. De configuratie ‘security.json’ moet in de Solr gegevensmap ‘/var/solr/data’ staan.

Bovendien kun je de Solr gegevensdirectory controleren vanuit het Solr dashboard zoals hieronder.

Solr Thuis Directory

1. Verander je werkdirectory in‘/var/solr/data’ en maak een nieuw configuratiebestand‘security.json‘ met behulp van nano editor.

cd /var/solr/data/
sudo -u solr nano security.json

Kopieer en plak de volgende configuratie.

{
  "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"}
  }
}

Sla de configuratie op en sluit af.

Dit zal een nieuwe admin gebruiker‘solr‘ aanmaken met het wachtwoord‘SolrRocks

2. Herstart vervolgens de ‘solr’ dienst om de nieuwe configuratie toe te passen met het onderstaande systemctl commando.

sudo systemctl restart solr

3. Om de authenticatie van Solr te verifiëren, ga je terug naar je webbrowser en typ je het server IP adres met Solr poort‘8983‘.

http://192.168.1.10:8983/

Je wordt nu doorgestuurd naar de Solr login pagina zoals hieronder.

Solr Login Page

Typ de gebruikersnaam‘solr‘ en het wachtwoord‘SolrRocks‘, en klik dan op de knop ‘Login’.

En je ziet het Solr dashboard.

In de sectie‘Security‘ zie je een gedetailleerde authenticatie en autorisatie plugin met de gebruikersnaam en rollen die je nu in gebruik hebt.

Solr Authenticatie ingeschakeld

Nu heb je de Solr installatie beveiligd met de Basic Authentication plugin.

Maak eerst een Solr kern

In Solr verwijst de term core naar een enkele Lucene index, en je kunt meerdere kernen maken in een enkele Solr installatie.

Elke core bevat transactielogs en configuratiebestanden zoals solrconfig.xml, schema bestanden, enz. Ook kun je gegevens met verschillende structuren op elke core indexeren en aan verschillende toepassingen/toehoorders presenteren.

Je kunt core aanmaken met de‘solr‘ command-line of met het Solr admin dashboard.

In deze stap leer je hoe je een core kunt maken met de‘solr‘ commando-regel.

1. Voordat je een kern maakt, moet je de Solr credentials configureren.

Verander je werkdirectory in‘/opt/solr/bin‘ en kopieer de standaard configuratie‘solr.in.sh.orig‘ naar‘solr.in.sh‘.

cd /opt/solr/bin/
cp solr.in.sh.orig solr.in.sh

Bewerk de configuratie‘solr.in.sh‘ met nano editor.

sudo nano solr.in.sh

Haal het commentaar weg bij de optie‘SOLR_AUTH_TYPE‘ en verander de waarde in‘basic‘. Dit zal het commando ‘solr’ vertellen de Basic Authentication plugin te gebruiken

SOLR_AUTH_TYPE="basic"

Maak het commentaar op de optie‘SOLR_AUTHENTICATION_OPTS‘ ongedaan en verander de waarde met de Solr gebruiker en het wachtwoord zoals hieronder.

SOLR_AUTHENTICATION_OPTS="-Dbasicauth=solr:SolrRocks"

Sla de configuratie op en sluit af.

2. Maak vervolgens een nieuwe kern met het onderstaande solr commando. In dit voorbeeld maak je een nieuwe kern met de naam‘new_core’ en de config naam‘ConfigName‘.

su - solr -c "/opt/solr/bin/solr create -c new_core -n ConfigName"

3. Ga nu terug naar het Solr administratie dashboard om de Solr core te verifiëren.

Je ziet details core zoals hieronder.

Solr kern

En je hebt een Solr kern gemaakt met de ‘solr’ command-line.

Conclusie

Gefeliciteerd! Je hebt de Solr installatie op het Rocky Linux systeem geleerd. Ook heb je geleerd hoe je de Solr installatie kunt beveiligen met de Basic Authentication plugin en geleerd hoe je core kunt maken met de ‘solr’ command-line.