Ako nainštalovať Apache Solr na Debian 12


Tento návod existuje pre tieto verzie OS

  • Debian 12 (knihomoľ)
  • Debian 11 (bullseye)

Na tejto stránke

  1. Predpoklady
  2. Inštalácia Java OpenJDK
  3. Stiahnutie a inštalácia Apache Solr
  4. Konfigurácia Apache Solr

    1. Konfigurácia systému Debian
    2. Konfigurácia Apache Solr
  5. Zabezpečenie Apache Solr pomocou doplnku BasicAuth
  6. Vytvorenie prvého indexu Apache Solr
  7. Záver

Apache Solr je open-source vyhľadávacia platforma postavená na Apache Lucene, navrhnutá tak, aby vytvárala výkonné možnosti vyhľadávania a indexovania aplikácií. Poskytuje pokročilé fulltextové vyhľadávanie, fazetové vyhľadávanie, indexovanie v reálnom čase a distribuované vyhľadávanie, vďaka čomu je obľúbenou voľbou pri vytváraní vyhľadávacích nástrojov a systémov na vyhľadávanie údajov. Solr je vysoko škálovateľný a optimalizovaný pre veľké objemy údajov, ktoré sa často používajú v podnikových prostrediach na úlohy, ako je vyhľadávanie na webových stránkach, elektronický obchod a analýza veľkých dát. Jeho rozhranie API podobné REST umožňuje jednoduchú integráciu s inými systémami a podporuje funkcie ako zvýrazňovanie návrhov dopytov a geopriestorové vyhľadávanie. Flexibilita, výkon a podpora komunity Solr z neho urobili popredné riešenie pre organizácie, ktoré potrebujú robustnú funkciu vyhľadávania.

V tejto príručke vám ukážeme podrobné pokyny, ako nainštalovať Apache Solr na server Debian 12. Nainštalujete si Apache Solr s Java OpenJDK 17, zabezpečíte ho cez BasicAuth plugin a potom sa naučíte, ako vytvoriť Solr index pomocou príkazového riadku.

Predpoklady

Skôr ako budete pokračovať, začiarknite nasledujúce položky:

  • Server Debian 12 s najmenej 4 GB pamäte.
  • Používateľ bez oprávnenia root s oprávneniami správcu sudo.

Inštalácia Java OpenJDK

Apache Solr je platforma podnikového vyhľadávania založená na Apache Lucene a beží nad Java JRE (Java Runtime Environment). V súčasnosti vyžaduje Solr aspoň Java JRE (Java Runtime Environment) verzie 11 a budete používať OpenJDK 17, ktorý je možné nainštalovať z úložiska Debianu.

Skôr ako začnete, vykonajte nasledujúci príkaz na aktualizáciu a obnovenie indexu balíkov Debianu.

sudo apt update

Teraz spustite nasledujúci príkaz na inštaláciu Java OpenJDK do vášho počítača Debian. V Debiane 12 balík default-jdk odkazuje na Java OpenJDK 17, ktorú môže Apache Solr používať.

sudo apt install default-jdk

Ak chcete pokračovať v inštalácii, zadajte y.

Po dokončení inštalácie overte verziu Java vykonaním nasledujúceho príkazu.

java --version

Nasledujúci výstup potvrdzuje, že je nainštalovaný Java OpenJDK 17.

Stiahnutie a inštalácia Apache Solr

Po nainštalovaní Java OpenJDK si následne stiahnete a nainštalujete Apache Solr do svojho počítača pomocou inštalačného skriptu. V súčasnosti je najnovšou verziou Apache Solr verzia 9.4. Navštívte oficiálnu stránku na stiahnutie Apache Solr a získajte informácie o najnovšej verzii.

Pred stiahnutím Apache Solr nainštalujte niektoré závislosti vykonaním nasledujúceho príkazu.

sudo apt install curl lsof bc

Teraz spustite príkaz curl nižšie a stiahnite si binárny balík Apache Solr. V čase písania tohto článku je najnovšia verzia Apache Solr v9.4.0. Po stiahnutí bude balík Apache Solr dostupný na adrese solr-9.4.0.tgz.

curl -qO https://downloads.apache.org/solr/solr/9.4.0/solr-9.4.0.tgz

Potom spustite nasledujúci príkaz a extrahujte skript inštalačného programu Apache Solr zo súboru solr-9.4.0.tgz. Inštalačný skript install_solr_service.sh bude extrahovaný z vášho aktuálneho pracovného adresára.

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

Potom vykonajte nasledujúci príkaz na inštaláciu Apache Solr solr-9.4.0.tgz prostredníctvom inštalačného skriptu install_solr_service.sh.

sudo bash ./install_solr_service.sh solr-9.4.0.tgz

Počas procesu uvidíte nasledovné:

Z obrázku by ste mali vidieť podrobný stav vašej inštalácie Apache Solr:

  • Predvolený inštalačný adresár Apache Solr je /opt/solr s dátovým adresárom /var/solr.
  • Automaticky sa vytvorí nový systémový používateľ solr, ktorý sa použije na spustenie procesu Apache Solr.
  • Vytvorí sa aj nový servisný skript s názvom solr.service, ktorý je možné spravovať pomocou príkazu systemctl a service .

Teraz overte službu solr pomocou nasledujúceho príkazu.

sudo service solr status

Zobrazí sa nasledujúci výstup, ktorý potvrdzuje, že služba Solr beží na pozadí a je spustená prostredníctvom servisného skriptu.

Na reštartovanie alebo zastavenie služby Solr môžete použiť aj nasledujúci príkaz.

sudo service solr restart
sudo service solr stop

Konfigurácia Apache Solr

Teraz, keď ste nainštalovali Apache Solr. V ďalšom kroku vykonáte nasledovné:

  • Konfigurácia systému Debian: Svoj počítač Debian upravíte zvýšením shmmax, nr_hugepages a systémových limitov pre maximálny počet procesov a otvorených súborov.
  • Konfigurácia Solr: Zvýšite maximálnu pamäť haldy pre Solr a nakonfigurujete špecifickú lokálnu IP adresu ako hostiteľa Apache Solr.

Začnime.

Konfigurácia systému Debian

Ak chcete optimalizovať Apache Solr, musíte zvýšiť shmmax, nr_hugepages, max procesov a max otvorených súborov na svojom Stroj Debian.

Vykonajte nasledujúci príkaz na zvýšenie parametrov jadra shmmax a nr_hugepages na vašom počítači Debian.

sudo echo 4294967295 > /proc/sys/kernel/shmmax
sudo echo 1536 > /proc/sys/vm/nr_hugepages

Potom otvorte súbor /etc/security/limits.conf pomocou nasledujúceho príkazu editora nano.

sudo nano /etc/security/limits.conf

Pripojte nasledujúcu konfiguráciu na koniec riadku. Týmto sa nastaví maximálny proces a maximálny počet otvorených súborov pre používateľa Solr na 65 000.

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

Uložte súbor a po dokončení ukončite editor.

Nakoniec overte ulimits (maximálny počet procesov a maximálny počet otvorených súborov) pre používateľa solr vykonaním nasledujúceho príkazu.

sudo -H -u solr bash -c "ulimit -aH"

Ak bude úspešný, mali by ste mať teraz ulimit max process a max open files pre používateľa solr nakonfigurovaný na 65000.

Konfigurácia Apache Solr

Po vykonaní zmien na vašom počítači Debian teraz upravíte konfiguráciu Apache Solr, nastavíte maximálnu pamäť haldy na 4 GB a spustíte Solr na konkrétnej lokálnej IP adrese 192.168.10.15.

Otvorte predvolenú konfiguráciu Apache Solr /etc/default/solr.in.sh pomocou príkazu editora nano nižšie.

sudo nano /etc/default/solr.in.sh

Upravte predvolenú možnosť SOLR_HEAP podľa maximálnej povolenej pamäte. V tomto príklade povolíte spustenie Apache Solr a využitie maximálnej pamäte 4 GB.

SOLR_HEAP="4g"

Potom odkomentujte možnosti SOLR_HOST a SOLR_JETTY_HOST a zadajte IP adresu svojho servera. V tomto príklade spustíte Apache Solr v rámci lokálnej IP adresy 192.168.10.15.

SOLR_HOST="192.168.10.15"
SOLR_JETTY_HOST="192.168.10.15"

Po dokončení uložte a zatvorte súbor.

Potom spustite nasledujúci príkaz, aby ste reštartovali službu solr a použili zmeny, ktoré ste vykonali.

sudo service solr restart

Po vykonaní príkazu bude váš Apache Solr bežať na adrese IP vášho servera 192.168.10.15 a maximálna pamäť haldy bude 4 GB.

Spustite webový prehliadač a navštívte adresu IP servera, za ktorou nasleduje port 8983, napríklad http://192.168.10.15:8983/. Ak je všetko vykonané správne, mali by ste vidieť stránku dashboardu Apache Solr, ako je nasledujúca.

Odtiaľ môžete vidieť, že inštalačný adresár Apache Solr /opt/solr beží s Java OpenJDK 17.

Zabezpečenie Apache Solr pomocou doplnku BasicAuth

V tejto časti zabezpečíte Apache Solr pridaním autentifikácie cez BasicAuth plugin a vytvorením nového užívateľa Solr. Aby ste to dosiahli, musíte vytvoriť špecifickú konfiguráciu a potom definovať autentifikačný modul a autorizačný modul pre používateľov Solr.

Vytvorte nový súbor /var/solr/data/security.json pomocou nasledujúceho príkazu editora nano. V tomto príklade je predvolený dátový adresár pre Apache Solr /var/solr/data/.

sudo nano /var/solr/data/security.json

Do súboru vložte nasledujúcu konfiguráciu.

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

Po dokončení uložte a zatvorte súbor.

Týmto spôsobom zabezpečíte Apache Solr nasledujúcim spôsobom:

  • BasicAuthPlugin na overenie používateľa a vytvorenie nového používateľa solr s heslom solrRocks.
  • RuleBasedAuthorizationPlugin na autorizáciu a konfiguráciu používateľa solr ako správcu, ktorý má prístup k akýmkoľvek indexom vo vašej inštalácii Apache Solr.

Potom spustite nasledujúci príkaz, aby ste reštartovali službu solr a použili zmeny, ktoré ste vykonali.

sudo service solr restart

Teraz späť do webového prehliadača a znova načítajte kartu Apache Solr. Ak je všetko úspešné, mali by ste byť presmerovaní na prihlasovaciu stránku Solr, ako je uvedené nižšie.

Prihláste sa pomocou používateľa solr a hesla SolrRocks.

Ak je pokus o prihlásenie úspešný, na obrazovke by ste mali vidieť dashboard Apache Solr.

Vytvorenie prvého indexu Apache Solr

V tomto bode ste dokončili inštaláciu Apache Solr, teraz môžete vytvoriť svoj prvý index Solr cez príkazový riadok. Predtým sa však musíte uistiť, že je predvolená autentifikácia pre Solr nakonfigurovaná.

Otvorte konfiguračný súbor Solr /etc/default/solr.in.sh pomocou nasledujúceho príkazu editora nano.

sudo nano /etc/default/solr.in.sh

Odkomentujte nasledujúce riadky, aby ste nastavili predvolené overenie Solr prostredníctvom základného overenia a zadajte používateľa solr a heslo SolrRocks, ktoré ste vytvorili.

SOLR_AUTH_TYPE="basic"
SOLR_AUTHENTICATION_OPTS="-Dbasicauth=solr:SolrRocks"

Uložte súbor a po dokončení ukončite editor.

Teraz spustite príkaz systemctl nižšie, aby ste reštartovali službu solr a použili zmeny.

sudo service solr restart

Potom vykonajte nasledujúci príkaz na vytvorenie svojho prvého indexu Solr test_core.

su - solr -c "/opt/solr/bin/solr create -c test_core -n TestCore"

Po vytvorení indexu uvidíte očakávaný výstup „Vytvorené nové jadro 'test_core'“ takto:

Nakoniec sa vráťte k hlavnému panelu Apache Solr. Potom v sekcii rozbaľovacej ponuky Výber jadra vyberte možnosť test_core.

Po dokončení by ste mali vidieť podrobné informácie pre index test_core, ako napríklad:

Záver

Na záver, teraz ste krok za krokom dokončili inštaláciu Apache Solr na server Debian 12. Nainštalovali ste Apache Solr s Java OpenJDK 17 a zabezpečili ste inštaláciu Apache Solr pridaním autentifikácie prostredníctvom doplnku BasicAuth. Okrem toho ste sa tiež naučili, ako vytvoriť index Solr cez príkazový riadok. Odteraz môžete využiť svoju inštaláciu Solr vytvorením klastra Solr.