Si të instaloni bazën e të dhënave Apache Cassandra NoSQL në një grup me një nyje Ubuntu 22.04


Apache Cassandra është një sistem i menaxhimit të bazës së të dhënave NoSQL me burim të hapur. Cassandra mund të shkallëzohet horizontalisht duke shtuar më shumë nyje nëpër të cilat të dhënat replikohen automatikisht. Nyjet mund të shtohen ose hiqen pa asnjë ndërprerje. Nyjet mund të organizohen logjikisht si një grup ose një unazë dhe të vendosen nëpër qendra të shumta të të dhënave për të përmirësuar shpejtësinë dhe besueshmërinë për aplikacionet me performancë të lartë.

Në këtë tutorial, ne do të mësojmë se si të instalojmë Apache Cassandra në një grup me një nyje Ubuntu 22.04.

Parakushtet

  • A Server running Ubuntu 22.04 with a minimum of 2GB of RAM.

  • A non-sudo user with root privileges.

  • Everything is updated.

    $ sudo apt update && sudo apt upgrade
    

Hapi 1 - Instaloni Java

Apache Cassandra kërkon Java 8 ose Java 11 për të funksionuar. Versioni më i fundit i Cassandra përfshin mbështetje të plotë për Java 11, e cila është ajo që ne do të përdorim.

$ sudo apt install openjdk-11-jdk

Konfirmoni instalimin Java.

$ java -version
openjdk 11.0.15 2022-04-19
OpenJDK Runtime Environment (build 11.0.15+10-Ubuntu-0ubuntu0.22.04.1)
OpenJDK 64-Bit Server VM (build 11.0.15+10-Ubuntu-0ubuntu0.22.04.1, mixed mode, sharing)

Hapi 2 - Instaloni Apache Cassandra

Hapi i parë është shtimi i depove zyrtare të Cassandras.

Ekzekutoni komandën e mëposhtme për të shtuar depon në listën e depove të sistemeve.

$ echo "deb http://www.apache.org/dist/cassandra/debian 40x main" | sudo tee -a /etc/apt/sources.list.d/cassandra.sources.list

Në kohën e shkrimit të këtij tutoriali, versioni më i fundit i disponueshëm i Cassandra është 4.0.5. Komanda e mësipërme përdor 40x për të përfaqësuar serinë 4.0 të Cassandra.

Shtoni çelësin e depove në listën e depove të besuara të sistemeve.

$ wget -q -O - https://www.apache.org/dist/cassandra/KEYS | sudo tee /etc/apt/trusted.gpg.d/cassandra.asc

Përditësoni listën e depove të sistemit.

$ sudo apt update

Instaloni Cassandra.

$ sudo apt install cassandra

Hapi 3 - Kontrolloni Shërbimin Cassandra

Cassandra krijon dhe fillon automatikisht demonin e shërbimit. Kontrolloni statusin e shërbimit.

$ sudo systemctl status cassandra

Ju duhet të merrni daljen e mëposhtme.

? cassandra.service - LSB: distributed storage system for structured data
     Loaded: loaded (/etc/init.d/cassandra; generated)
     Active: active (running) since Mon 2022-07-25 11:40:42 UTC; 12min ago
       Docs: man:systemd-sysv-generator(8)
      Tasks: 48 (limit: 2241)
     Memory: 1.3G
        CPU: 38.219s
     CGroup: /system.slice/cassandra.service
             ??4602 /usr/bin/java -ea -da:net.openhft... -XX:+UseThreadPriorities -XX:+HeapDumpOnOutOfMemoryError -Xss256k -XX:+AlwaysPreTouch -XX:-UseBiasedLocking -XX:+UseTLAB -XX:+ResizeTLAB -XX:+UseNUMA ->
Jul 25 11:40:42 cassandra systemd[1]: Starting LSB: distributed storage system for structured data...
Jul 25 11:40:42 cassandra systemd[1]: Started LSB: distributed storage system for structured data.

Ju gjithashtu mund të verifikoni statusin duke përdorur komandën nodetool.

$ nodetool status
Datacenter: datacenter1
=======================
Status=Up/Down
|/ State=Normal/Leaving/Joining/Moving
--  Address    Load       Tokens  Owns (effective)  Host ID                               Rack
UN  127.0.0.1  69.08 KiB  16      100.0%            6690243a-950d-4d64-9463-aa722f8064d4  rack1

Hapi 4 - Konfiguro Cassandra

Vendndodhja e parazgjedhur e skedarëve të konfigurimit për Cassandra është në /etc/cassandra. Vendndodhja e paracaktuar për drejtoritë e regjistrave dhe të dhënave është /var/log/cassandra dhe /var/lib/cassandra.

Cilësimet e nivelit JVM si madhësia e grumbullit mund të vendosen nëpërmjet skedarit /etc/cassandra/cassandra-env.sh. Ju mund të kaloni argumente shtesë të linjës së komandës JVM në ndryshoren JVM_OPTS. Argumentet i kalohen Kasandrës kur fillon.

4.1 Aktivizo vërtetimin e përdoruesit

Për të mundësuar vërtetimin e përdoruesit, hapi i parë është të bëni një kopje rezervë të skedarit /etc/cassandra/cassandra.yaml.

$ sudo cp /etc/cassandra/cassandra.yaml /etc/cassandra/cassandra.yaml.backup

Hapni skedarin cassandra.yaml për modifikim.

$ sudo nano /etc/cassandra/cassandra.yaml

Gjeni parametrat e mëposhtëm në këtë skedar.

...
authenticator: AllowAllAuthenticator
...
authorizer: AllowAllAuthorizer
...
roles_validity_in_ms: 2000
...
permissions_validity_in_ms: 2000
...

Ndryshoni vlerat e parametrave si më poshtë.

...
authenticator: org.apache.cassandra.auth.PasswordAuthenticator
...
authorizer: org.apache.cassandra.auth.CassandraAuthorizer
...
roles_validity_in_ms: 0
...
permissions_validity_in_ms: 0
. . .

Mund të konfiguroni cilësime të tjera bazuar në kërkesat tuaja. Nëse komentohen, atëherë anulojini ato.

Pasi të keni përfunduar, ruani skedarin duke shtypur Ctrl + X dhe duke futur Y kur ju kërkohet.

Rinis Cassandra për të aktivizuar cilësimet e ndryshuara.

$ sudo systemctl restart cassandra

4.1.1 - Shto një Mbipërdorues Administratori

Tani që kemi aktivizuar vërtetimin, duhet të krijojmë një përdorues. Për ta bërë këtë, ne do të përdorim mjetin e guaskës së Komandës Cassandra. Identifikohu me kredencialet për përdoruesin e paracaktuar cassandra.

$ cqlsh -u cassandra -p cassandra

Ju do të merrni guaskën e mëposhtme.

Connected to Test Cluster at 127.0.0.1:9042
[cqlsh 6.0.0 | Cassandra 4.0.5 | CQL spec 3.4.5 | Native protocol v5]
Use HELP for help.
>

Krijo një superpërdorues të ri. Zëvendësoni [emri i përdoruesit] dhe [fjalëkalimi juaj] me kredencialet tuaja.

> CREATE ROLE [username] WITH PASSWORD = '[yourpassword]' AND SUPERUSER = true AND LOGIN = true;

Dilni nga guaska.

> exit

Hyni përsëri me llogarinë e re të superpërdoruesit.

$ cqlsh -u username -p yourpassword

Hiqni lejet e ngritura nga llogaria e paracaktuar cassandra.

> ALTER ROLE cassandra WITH PASSWORD = 'cassandra' AND SUPERUSER = false AND LOGIN = false;
> REVOKE ALL PERMISSIONS ON ALL KEYSPACES FROM cassandra;

Jepni të gjitha lejet llogarisë së superpërdoruesit.

> GRANT ALL PERMISSIONS ON ALL KEYSPACES TO '[username]';

Dilni nga guaska.

> exit

4.2 - Redaktoni skedarin e konfigurimit të konsolës

Nëse dëshironi të personalizoni Cassandra Shell, mund ta bëni këtë duke redaktuar skedarin cqlshrc. Vendndodhja e parazgjedhur për skedarin është në drejtorinë ~/.cassandra. Nëse dëshironi ta ngarkoni atë nga një direktori tjetër, mund ta kaloni argumentin --cqlshrc /customdirectory te mjeti cqlsh gjatë ekzekutimit. Instalimi i paracaktuar i Cassandras nuk përfshin skedarin. Prandaj, do të na duhet ta krijojmë atë.

Krijo skedarin cqlshrc në drejtorinë ~/.cassandra. Ne nuk kemi nevojë të përdorim sudo për të kryer ndonjë nga funksionet në drejtorinë ~/.cassandra. Cassandra kërkon që skedarët në këtë drejtori janë në pronësi të llogarisë lokale dhe nuk duhet të jenë të aksesueshme nga llogari ose grupe të tjera.

$ touch ~/.cassandra/cqlshrc

Nëse drejtoria ~/.cassandra nuk është e pranishme, atëherë krijoni atë duke përdorur komandën e mëposhtme.

$ mkdir ~/.cassandra

Hapni skedarin për redaktim.

$ nano ~/.cassandra/cqlshrc

Depoja Cassandras Github ofron një mostër të skedarit cqlshrc. Ju mund të kopjoni ndonjë ose të gjitha seksionet nga atje në varësi të nevojave tuaja. Të gjitha cilësimet komentohen duke përdorur ;;. Zhkomentoni ato duke hequr dy pikëpresje dhe më pas bëni ndryshimin në varësi të nevojave tuaja.

Ne do të konfigurojmë guaskën që të identifikohet automatikisht me kredencialet e superpërdoruesit. Zëvendësoni [emri i përdoruesit] dhe [fjalëkalimi] me kredencialet e krijuara në hapin e mëparshëm.

....
[authentication]
;; If Cassandra has auth enabled, fill out these options
username = [username]
password = [password]
....

Ndryshoni çdo cilësim tjetër që dëshironi të ndryshoni. Pasi të keni përfunduar, ruani skedarin duke shtypur Ctrl + X dhe duke futur Y kur ju kërkohet.

Përditësoni lejet për skedarin cqlshrc. Kjo ndalon çdo grup tjetër përdoruesi të hyjë në skedar.

$ chmod 600 ~/.cassandra/cqlshrc

Hyni në guaskën Cassandra me ndryshimet tuaja të reja.

$ cqlsh
Connected to Test Cluster at 127.0.0.1:9042
[cqlsh 6.0.0 | Cassandra 4.0.5 | CQL spec 3.4.5 | Native protocol v5]
Use HELP for help.
>

Shënim: Metoda e ruajtjes së emrit të përdoruesit dhe fjalëkalimit në skedarin cqlshrc do të zhvlerësohet nga versioni 4.1 i Cassandra. Për të mësuar më shumë rreth tij, mund të lexoni hyrjen në faqen Cassandras.

4.3 - Riemërtoni grupin

Më në fund, ne do ta riemërtojmë emrin e grupit nga Test Cluster në emrin tuaj të zgjedhur.

Hyni në terminalin cqlsh.

$ cqlsh

Zëvendësoni [emri i grupit] me emrin e grupit tuaj të ri në komandën e mëposhtme.

> UPDATE system.local SET cluster_name = '[new_name]' WHERE KEY = 'local';

Dilni nga guaska.

> exit

Hapni skedarin /etc/cassandra/cassandra.yaml për modifikim.

$ sudo nano /etc/cassandra/cassandra.yaml

Zëvendësoni vlerën e ndryshores emri_cluster me emrin që keni zgjedhur.

...
# The name of the cluster. This is mainly used to prevent machines in
# one logical cluster from joining another.
cluster_name: '[new_name]'
...

Pasi të keni përfunduar, ruani skedarin duke shtypur Ctrl + X dhe duke futur Y kur ju kërkohet.

Pastro memorien e sistemit Cassandra.

$ nodetool flush system

Rinis Cassandra.

$ sudo systemctl restart cassandra

Hyni në shell për të parë emrin e ri.

$ cqlsh
Connected to howtoforge at 127.0.0.1:9042
[cqlsh 6.0.0 | Cassandra 4.0.5 | CQL spec 3.4.5 | Native protocol v5]
Use HELP for help.
>

konkluzioni

Në këtë tutorial, mësuat se si të instaloni Apache Cassandra në një server AlmaLinux ose Rocky Linux. Ju mësuat gjithashtu se si të shtoni vërtetimin e përdoruesit dhe të kryeni disa konfigurime bazë. Për të mësuar më shumë, vizitoni dokumentacionin zyrtar të Cassandra. Nëse keni ndonjë pyetje, postojini ato në komentet më poshtë.