GNU/Linux >> Znalost Linux >  >> AlmaLinux

Jak nainstalovat Apache Cassandra na AlmaLinux / Rocky Linux 8

Apache Cassandra je open-source systém pro správu distribuovaných databází NoSQL. Cassandru lze horizontálně škálovat přidáním dalších uzlů, přes které se data replikují automaticky. Uzly lze přidávat nebo odebírat bez jakýchkoli prostojů. Uzly lze organizovat logicky jako cluster nebo kruh a nastavit je napříč více datovými centry pro zvýšení rychlosti a spolehlivosti pro vysoce výkonné aplikace.

V tomto tutoriálu se naučíme, jak nainstalovat Apache Cassandra na AlmaLinux a Rocky Linux 8 OS. Příkazy pro oba operační systémy budou stejné, pokud není uvedeno jinak.

Předpoklady

  • Server se systémem AlmaLinux nebo Rocky Linux s minimálně 2 GB RAM.

  • Uživatel bez sudo s právy root.

  • Vše je aktualizováno.

    $ sudo dnf update
    

Krok 1 – Instalace Java

Apache Cassandra vyžaduje ke svému fungování Java 8. Nejnovější verze Cassandry obsahuje experimentální podporu pro Java 11, ale pro náš tutoriál se budeme držet používání Java 8.

$ sudo dnf install java-1.8.0-openjdk java-1.8.0-openjdk-devel

Potvrďte instalaci Java.

$ java -version
openjdk version "1.8.0_312"
OpenJDK Runtime Environment (build 1.8.0_312-b07)
OpenJDK 64-Bit Server VM (build 25.312-b07, mixed mode)

Krok 2 – Instalace Apache Cassandra

Prvním krokem je přidání Cassandrina oficiálního úložiště.

Spusťte následující příkaz a vytvořte soubor úložiště /etc/yum.repos.d/cassandra.repo a zadejte podrobnosti.

$ sudo tee  /etc/yum.repos.d/cassandra.repo <<EOF
> [cassandra]
> name=Apache Cassandra
> baseurl=https://www.apache.org/dist/cassandra/redhat/40x/
> gpgcheck=1
> repo_gpgcheck=1
> gpgkey=https://www.apache.org/dist/cassandra/KEYS
> EOF

Nyní, když je vytvořen repo soubor, nainstalujte, Cassandra.

$ sudo dnf install cassandra -y

Krok 3 – Instalace Cqlsh

Použijeme CQL Shell (cqlsh ) nástroj pro interakci s Cassandrou. Nástroj je kompatibilní s Pythonem 2.7 nebo Pythonem 3.6+. V našem tutoriálu budeme používat Python 3.8. Nainstalujte Python 3.8.

$ sudo dnf install python38

Nastavte Python 3.8 jako výchozí verzi Pythonu.

$ sudo update-alternatives --config python
There are 3 programs which provide 'python'.

  Selection    Command
-----------------------------------------------
*+ 1           /usr/libexec/no-python
   2           /usr/bin/python3
   3           /usr/bin/python3.8

Enter to keep the current selection[+], or type selection number: 3

Zobrazí se vám několik možností. Zvolíme číslo 3, abychom v našem případě nastavili Python 3.8 jako výchozí verzi.

Potvrďte instalaci Pythonu.

$ python --version
Python 3.8.8

Po použití update-alternatives nástroj, nemusíte používat python3 příkaz.

Nainstalujte cqlsh pomocí správce balíčků pip Python.

$ pip3 install --user cqlsh

Potvrďte cqlsh nainstalovat.

$ cqlsh --version
cqlsh 6.0.0

Krok 4 – Vytvoření souboru Systemd Unit pro Cassandru

Vytvořte a otevřete /etc/systemd/system/cassandra.service pro úpravy.

$ sudo nano /etc/systemd/system/cassandra.service

Vložte do něj následující kód.

[Unit]
Description=Apache Cassandra
After=network.target

[Service]
PIDFile=/var/run/cassandra/cassandra.pid
User=cassandra
Group=cassandra
ExecStart=/usr/sbin/cassandra -f -p /var/run/cassandra/cassandra.pid
Restart=always

[Install]
WantedBy=multi-user.target

Uložte soubor stisknutím Ctrl + X a zadáním Y až budete vyzváni.

Znovu načtěte servisního démona.

$ sudo systemctl daemon-reload

Povolte a spusťte službu Cassandra.

$ sudo systemctl enable cassandra --now

Zkontrolujte stav služby.

$ sudo systemctl status cassandra
? cassandra.service - Apache Cassandra
   Loaded: loaded (/etc/systemd/system/cassandra.service; enabled; vendor preset: disabled)
   Active: active (running) since Thu 2021-12-30 11:07:43 UTC; 12s ago
 Main PID: 4679 (java)
    Tasks: 48 (limit: 23696)
   Memory: 1.3G
   CGroup: /system.slice/cassandra.service
           ??4679 /usr/bin/java -ea -da:net.openhft... -XX:+UseThreadPriorities -XX:+HeapDumpOnOutOfMemoryError -Xss256>

Stav můžete také ověřit pomocí nodetool příkaz.

$ 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.09 KiB  16      100.0%            2fe7ccae-2af9-4841-9bff-bffa29f10dc5  rack1

Krok 5 – Konfigurace Cassandry

Výchozí umístění konfiguračních souborů pro Cassandru je /etc/cassandra . Výchozí umístění pro adresáře protokolů a dat je /var/log/cassandra a /var/lib/cassandra .

Nastavení úrovně JVM, jako je velikost haldy, lze nastavit pomocí /etc/cassandra/conf/cassandra-env.sh soubor. Do JVM_OPTS můžete předat další argumenty příkazového řádku JVM variabilní. Argumenty jsou při spuštění předány Cassandře.

5.1 Povolit ověření uživatele

Chcete-li povolit ověření uživatele, nejprve si vytvořte zálohu /etc/cassandra/conf/cassandra.yaml soubor.

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

Otevřete cassandra.yaml soubor pro úpravy.

$ sudo nano /etc/cassandra/conf/cassandra.yaml

V tomto souboru vyhledejte následující parametry.

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

Změňte hodnoty parametrů, jak je uvedeno níže.

. . .

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

. . .

Další nastavení můžete nakonfigurovat podle svých požadavků. Pokud jsou okomentovány, odkomentujte je.

Po dokončení uložte soubor stisknutím Ctrl + X a zadáním Y až budete vyzváni.

Restartujte Cassandru, abyste aktivovali změněná nastavení.

$  sudo systemctl restart cassandra

5.1.1 – Přidat superuživatele administrátora

Nyní, když jsme povolili ověřování, musíme vytvořit uživatele. K tomu použijeme shell Cassandra Command. Přihlaste se pomocí přihlašovacích údajů pro výchozího uživatele cassandra .

$ cqlsh -u cassandra -p cassandra

Vytvořte nového superuživatele. Nahraďte [username] a [yourpassword] s vašimi přihlašovacími údaji.

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

Odhlaste se.

[email protected]> exit

Přihlaste se zpět pomocí nového superuživatelského účtu.

$ cqlsh -u username -p yourpassword

Odeberte zvýšená oprávnění z výchozí cassandra účet.

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

Udělte všechna oprávnění účtu superuživatele.

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

Odhlaste se.

[email protected]> exit

5.2 – Úprava konfiguračního souboru konzoly

Pokud si chcete Cassandra Shell přizpůsobit, můžete tak učinit úpravou cqlshrc soubor. Výchozí umístění souboru je v ~/.cassandra adresář. Pokud jej chcete načíst z jiného adresáře, můžete předat argument --cqlshrc /customdirectory do cqlsh nástroj za běhu.

Ukázkový soubor najdete na /etc/cassandra/conf/cqlshrc.sample obsahující všechna nastavení, která můžete konfigurovat ohledně Cassandra Shell.

Zkopírujte a přejmenujte ukázkový soubor na ~/.cassandra adresář.

$ sudo cp /etc/cassandra/conf/cqlshrc.sample ~/.cassandra/cqlshrc

Aktualizujte cqlshrc soubor s požadovanými oprávněními.

$ sudo chmod 600 ~/.cassandra/cqlshrc
$ sudo chown $USER:$USER ~/.cassandra/cqlshrc

Otevřete soubor pro úpravy.

$ nano ~/.cassandra/cqlshrc

Nakonfigurujeme shell tak, aby se automaticky přihlašoval pomocí přihlašovacích údajů superuživatele. Najděte následující sekci a vyplňte ji svým uživatelským jménem a heslem.

....

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

....

Upravte všechna další nastavení, která chcete změnit. Některá nastavení jsou komentována pomocí ;; . Odkomentujte je odstraněním dvojitých středníků a poté proveďte změnu.

Po dokončení uložte soubor stisknutím Ctrl + X a zadáním Y až budete vyzváni.

Přihlaste se do Cassandry shell se svými novými změnami.

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

5.3 – Přejmenování clusteru

Nakonec přejmenujeme název clusteru z Test Cluster na vámi zvolené jméno.

Přihlaste se do cqlsh terminál.

$ cqlsh

Nahraďte [clustername] s vaším novým názvem clusteru v příkazu níže.

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

Opusťte shell

[email protected]> exit

Otevřete soubor /etc/cassandra/conf/cassandra.yaml pro úpravy.

$ sudo nano /etc/cassandra/conf/cassandra.yaml

Nahraďte hodnotu proměnné cluster_name se jménem dle vašeho výběru.

...

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

...

Po dokončení uložte soubor stisknutím Ctrl + X a zadáním Y až budete vyzváni.

Vymažte mezipaměť systému Cassandra.

$  nodetool flush system

Restartujte Cassandru.

$  sudo systemctl restart cassandra

Přihlaste se do shellu, abyste viděli nové jméno.

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

Závěr

V tomto tutoriálu jste se naučili, jak nainstalovat Apache Cassandra na server AlmaLinux nebo Rocky Linux. Také jste se naučili, jak přidat ověření uživatele a provést některé základní konfigurace. Chcete-li se dozvědět více, navštivte oficiální dokumentaci Cassandry. Pokud máte nějaké dotazy, napište je do komentářů níže.


AlmaLinux
  1. Jak nainstalovat Apache na AlmaLinux

  2. Jak nainstalovat Apache Cassandra na Debian 10 Linux

  3. Jak nainstalovat Docker na AlmaLinux / Rocky Linux

  1. Jak nainstalovat Jenkins na Rocky Linux 8 / AlmaLinux 8

  2. Jak nainstalovat Sambu v Rocky Linux a AlmaLinux

  3. Jak nainstalovat PostgreSQL 14 v Rocky Linux a AlmaLinux

  1. Jak nainstalovat Apache Cassandra na AlmaLinux 8 | Rocky Linux 8

  2. Jak nainstalovat Linux Kernel 5.x na Almalinux 8 nebo Rocky

  3. Jak nainstalovat Apache na Almalinux 8 / Rocky Linux 8