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ë.