GNU/Linux >> Znalost Linux >  >> Cent OS

Nainstalujte a nakonfigurujte Apache Cassandra 4.0 v Centos 8

Apache Cassandra je bezplatný a otevřený systém pro správu databází NoSQL navržený ke zpracování velkého množství dat na mnoha komoditních serverech a poskytuje vysokou dostupnost bez jediného bodu selhání. Apache Cassandra byla původně vyvinuta společností Facebook a později ji získala Apache Foundation.

Apache Cassandra je vhodný pro masivní, exponenciálně rostoucí množství neustále se transformujících dat.

Cassandra ve srovnání s RDBMS

Cassandra má blízké analogie s koncepty v relačních databázích:

  • Keyspace – Podobné jako databáze/schéma v RDBMS
  • Table – Podobné jako tabulka v RDBMS
  • Row – Podobné jako Row v RDBMS
  • Column – Podobně jako sloupec v RDBMS
  • Primary key – Podobně jako primární klíč v RDBMS

Předpoklady

Abyste mohli postupovat podle tohoto průvodce, potřebujete:

  • Server Centos 8
  • Kořenový přístup k serveru nebo uživateli s přístupem sudo
  • Přístup k internetu ke stažení balíčků

Níže jsou uvedeny kroky, které provedeme při instalaci Cassandry

  1. Ujistěte se, že je náš systém aktuální
  2. Nainstalujte do systému Javu
  3. Nainstalujte do systému Apache Cassandra
  4. Nainstalujte a nakonfigurujte klienta Apache Cassandra (cqlsh)
  5. Nakonfigurujte Apache Cassandra

Krok 1 Ujistěte se, že je náš systém aktuální

Ujistěte se, že balíčky Centos 8 nainstalované na serveru jsou aktuální. Můžete to provést spuštěním následujících příkazů:

sudo dnf -y update

Krok 2 Nainstalujte Javu do systému

Apache Cassandra vyžaduje, abyste měli ve svém systému Java 8, aby fungoval. Potvrďte, že je Java nainstalována zadáním tohoto příkazu:

java -version

Pokud vidíte tento výstup:

# java -version
-bash: java: command not found

Pak to znamená, že Java není nainstalována. Nainstalujme jej pomocí tohoto příkazu:

sudo dnf install -y java-1.8.0-openjdk

Jakmile je instalace dokončena, potvrďte ji tímto :

# java -version
openjdk version "1.8.0_302"
OpenJDK Runtime Environment (build 1.8.0_302-b08)
OpenJDK 64-Bit Server VM (build 25.302-b08, mixed mode)

Nyní, když je v našem systému nainstalována Java 8, pojďme nainstalovat Cassandru.

Krok 3. Nainstalujte Apache Cassandra do systému

Apache Cassandra není k dispozici ve výchozích úložištích Centos 8. Pojďme vytvořit repo směřující na Cassandra Repos:

Vytvořte tento /etc/yum.repos.d/cassandra.repo soubor s obsahem požadovaným pomocí tohoto příkazu:

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

Nyní, když jsme přidali repo, umožňuje nainstalovat cassandru:

sudo dnf install -y cassandra

Potvrďte, že Cassandra byla nainstalována pomocí tohoto příkazu:

# rpm -qi cassandra
Name        : cassandra
Version     : 4.0.0
Release     : 1
Architecture: noarch
Install Date: Tue 31 Aug 2021 08:59:00 AM UTC
Group       : Development/Libraries
Size        : 54941890
License     : Apache Software License 2.0
Signature   : RSA/SHA512, Thu 22 Jul 2021 10:22:35 PM UTC, Key ID 5e85b9ae0b84c041
Source RPM  : cassandra-4.0.0-1.src.rpm
Build Date  : Thu 22 Jul 2021 10:22:10 PM UTC
Build Host  : 0b542adba94d
Relocations : (not relocatable)
URL         : http://cassandra.apache.org/
Summary     : Cassandra is a highly scalable, eventually consistent, distributed, structured key-value store.
Description :
Cassandra is a distributed (peer-to-peer) system for the management and storage of structured data.

Jakmile je tento příkaz nainstalován, binární soubor cassandra bude vytvořen v /usr/sbin/cassandra . Protože Centos 8 spravuje služby pomocí systemd, pojďme vytvořit soubor systemd v /etc/systemd/system/cassandra.service s obsahem potřebným ke správě služby cassandra

sudo cat > /etc/systemd/system/cassandra.service <<EOF
[Unit]
Description=Apache Cassandra 4.0
After=network.target

[Service]
Type=simple
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
EOF

Jakmile je soubor vytvořen, můžete ke správě služby použít systemd:

Spusťte tento příkaz a ujistěte se, že je naše nová služba systemd zaregistrována:

sudo systemctl daemon-reload 

Spuštění služby:

sudo systemctl start cassandra

Potvrďte, že služba běží. Ujistěte se prosím, že je Active: active (running) v následujícím příkazu stavu:

# sudo systemctl status cassandra
● cassandra.service - Apache Cassandra
   Loaded: loaded (/etc/systemd/system/cassandra.service; disabled; vendor preset: disabled)
   Active: active (running) since Tue 2021-08-31 15:50:07 UTC; 8s ago
 Main PID: 100752 (java)
    Tasks: 54 (limit: 23800)
   Memory: 1.1G
   CGroup: /system.slice/cassandra.service
           └─100752 java -ea -da:net.openhft... -XX:+UseThreadPriorities -XX:+HeapDumpOnOutOfMemoryError -Xss256k -XX:+AlwaysPreTouch -XX:-UseBiasedLocking -XX:+UseTLAB -XX:+ResizeTLAB -XX:+UseNUMA -XX:+PerfD>

Aug 31 15:50:13 ipa-server.citizix.light cassandra[100752]: INFO  [main] 2021-08-31 15:50:13,284 NativeTransportService.java:68 - Netty using native Epoll event loop
Aug 31 15:50:13 ipa-server.citizix.light cassandra[100752]: INFO  [CompactionExecutor:1] 2021-08-31 15:50:13,326 CompactionTask.java:150 - Compacting (20ffe200-0a73-11ec-a273-f980f7c7aa0a) [/var/lib/cassandra>
Aug 31 15:50:13 ipa-server.citizix.light cassandra[100752]: INFO  [main] 2021-08-31 15:50:13,329 PipelineConfigurator.java:124 - Using Netty Version: [netty-buffer=netty-buffer-4.1.58.Final.10b03e6, netty-cod>
Aug 31 15:50:13 ipa-server.citizix.light cassandra[100752]: INFO  [main] 2021-08-31 15:50:13,329 PipelineConfigurator.java:125 - Starting listening for CQL clients on localhost/127.0.0.1:9042 (unencrypted)...
Aug 31 15:50:13 ipa-server.citizix.light cassandra[100752]: INFO  [main] 2021-08-31 15:50:13,334 CassandraDaemon.java:780 - Startup complete

Povolte, aby služba cassandra vždy běžela při spuštění:

sudo systemctl enable cassandra

Použijte nodetool status příkaz pro potvrzení stavu aktuálního stavu uzlu:

# 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  166.07 KiB  16      100.0%            2b8341f0-2638-46bb-a0e0-e20b86f96d0a  rack1

Nyní, když je služba spuštěna, můžeme nainstalovat klienta:

Krok 4. Instalace a konfigurace klienta Apache Cassandra (cqlsh)

Nyní, když je služba Apache Cassandra nainstalována a nakonfigurována, musíme se k ní připojit.

Klientský nástroj používaný pro přístup ke Cassandře (cqlsh ) je klient pythonu. Před instalací tedy musíme nastavit prostředí pro python:

Nainstalujte python3 a python pip

sudo dnf install -y python39 python39-pip

Potvrďte instalaci a Python a pip:

# python3 -V
Python 3.9.2

# pip3 -V
pip 20.2.4 from /usr/lib/python3.9/site-packages/pip (python 3.9)

Pomocí pip nainstalujte cqlsh:

sudo pip3 install cqlsh

Nyní můžeme použít cqlsh pro připojení ke cassandře. Protože je Cassandra nainstalována lokálně, nemusíme zadávat žádného hostitele:

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

Nyní, když je klient nastaven, pojďme nakonfigurovat Cassandru

Krok 4. Nakonfigurujte Apache Cassandra

Pojďme nakonfigurovat Apache Cassandra. Hlavní konfigurační soubor se nachází zde /etc/cassandra/default.conf/cassandra.yaml

Pozoruhodné konfigurace ke změně:

  • cluster_name – název vašeho clusteru
  • seeds obsahuje seznam IP adres vašeho seedu clusteru oddělených čárkami
  • listen_address obsahuje IP adresu vašeho uzlu, to je to, co umožňuje ostatním uzlům komunikovat s tímto uzlem

Kromě toho můžete také přidat proměnnou env JVM_OPTS přidání jakýchkoli dalších argumentů příkazového řádku JVM. To bude při spuštění předáno službě cassandra.

Ve výchozím nastavení je název clusteru Cassandra ‚Test Cluster‘. Toto můžete změnit na preferovaný název clusteru přihlášením pomocí cqlsh a spuštění příkazu níže.

UPDATE system.local 
SET cluster_name = 'Citizix Cluster' 
WHERE KEY = 'local';

Poté aktualizujte konfigurační soubor /etc/cassandra/default.conf/cassandra.yaml s novým názvem:

sudo vim /etc/cassandra/default.conf/cassandra.yaml

Pak aktualizujte tento řádek:

cluster_name: 'Citizix Cluster'

Uložte a ukončete.

Umožňuje vymazat mezipaměť systému pomocí tohoto:

nodetool flush system

Poté restartujte službu cassandra

sudo systemctl restart cassandra

Znovu se přihlaste a potvrďte název clusteru, jak je znázorněno.

Závěr

Podařilo se nám nainstalovat a nakonfigurovat cassandu ve výše uvedené příručce. Vezměte prosím na vědomí následující:

  • Cassandra ukládá svůj protokol do tohoto adresáře /var/log/cassandra/ s hlavním souborem protokolu umístěným v /var/log/cassandra/system.log
  • Protože jsme vytvořili službu systemd, můžete také zkontrolovat stdout a stderr protokoluje pomocí tohoto příkazu:
    sudo journalctl -fu cassandra
  • Toto /var/lib/cassandra je nastaven jako výchozí datový adresář. Můžete to aktualizovat v konfiguračním souboru
  • Konfigurační soubory Cassandra jsou uloženy v tomto adresáři /etc/cassandra/ včetně výchozího konfiguračního souboru /etc/cassandra/default.conf/cassandra.yaml
  • Správa služby cassandra, kterou jsme vytvořili:
    # Start the service
    sudo systemctl start cassandra
    # Check the service status
    sudo systemctl status cassandra
    # Stop the service
    sudo systemctl stop cassandra
    # Enable the service
    sudo systemctl enable cassandra
    # Restart the service
    sudo systemctl restart cassandra

Další informace naleznete také na stránce dokumentace Cassandra zde.


Cent OS
  1. Jak nainstalovat a nakonfigurovat Nginx na CentOS 7

  2. Jak nainstalovat Apache Cassandra na CentOS 7

  3. Nainstalujte Apache a PHP na CentOS 7

  1. Jak nainstalovat Apache Cassandra na CentOS 8

  2. Jak nainstalovat a nakonfigurovat Redis na CentOS 7

  3. Jak nainstalovat a nakonfigurovat GitLab na CentOS 7

  1. Jak nainstalovat a nakonfigurovat Nextcloud s Apache na CentOS 7

  2. Jak nainstalovat a nakonfigurovat Redmine na CentOS 7

  3. Jak nainstalovat Apache Cassandra na CentOS 7