GNU/Linux >> Znalost Linux >  >> Linux

Jak nainstalovat Apache Cassandra Cluster na Linux

Apache Cassandra je bezplatný a open-source systém pro správu distribuovaných databází NoSQL vytvořený společností Facebook (nyní Meta). Distribuovaná povaha Cassandry umožňuje vysokou dostupnost a vysoký výkon bez jediného bodu selhání.

Díky své škálovatelnosti je Cassandra vhodná pro masivní aktivní a kritické datové sady. Velké a slavné organizace jako Apple, Bloomberg, BestBuy, eBay, Netflix, Spotify a mnoho dalších. A pokud vás zajímá Apache Cassandra, jste na správném místě.

V tomto článku se dozvíte, jak nastavit a nakonfigurovat cluster Apache Cassandra na systémech Linux. Dozvíte se také, jak komunikovat s Cassandrou pomocí jejích nástrojů příkazového řádku.

Předpoklady

Chcete-li pokračovat podle příkladů v tomto tutoriálu, ujistěte se, že máte splněny následující požadavky.

  • Budete potřebovat dva servery Linux ve stejné síti. Tento tutoriál bude používat dva servery Rocky Linux (v8.5) s následujícími podrobnostmi.
Název hostitele IP adresa
cassandra01 172.16.1.10
cassandra02 172.16.1.15

Dokumentace Apache Cassandra neposkytuje předepsaný seznam kompatibilních linuxových distribucí, ale uvádí, že Cassandra může běžet na CentOS, RHEL, Debian a SUSE Enterprise Linux.

  • Musíte mít oprávnění sudo nebo přístup k účtu root.
  • Textový editor Nano nebo jakýkoli textový editor založený na systému Linux.

Instalace Java OpenJDK a Pythonu

Než začnete s instalací Apache Cassandra, nejprve nainstalujete softwarové závislosti. Cassandra je aplikace založená na Javě a nejnovější verze (v4.0 v době psaní tohoto článku) vyžaduje Java OpenJDK 1.8 a Python 3.6.

Tento kurz používá správce balíčků DNF pro linuxové distribuce založené na RPM. Můžete také použít Yum nebo Apt v distribucích založených na DEB, jako je Ubuntu a Debian. V dokumentaci k vašemu distribuci zjistíte, kterého správce balíčků použít.

Při instalaci Java OpenJDK 1.8 a Pythonu 3.6 na každý server postupujte podle níže uvedených kroků.

1. Otevřete svého klienta SSH, připojte se k serveru a spusťte sudo su příkaz stát se rootem.

ssh [email protected]_name_or_IP
sudo su

2. Dále spusťte dnf příkaz níže k instalaci balíčků Java OpenJDK 1.8 a Python 3.6. Počkejte na dokončení instalace.

dnf install java-1.8.0-openjdk python36 -y

3. Nyní ověřte verzi Java spuštěním příkazu níže.

java -version

Níže můžete vidět aktuální verzi Java OpenJDK je 1.8.0_312.

4. Dále nastavte výchozí interpret Pythonu na vašich serverech na Python 3.6. Chcete-li tak učinit, spusťte alternatives příkaz jako níže.

alternatives --config python

Do příkazového řádku zadejte číslo odpovídající vaší verzi Pythonu. Níže uvedený příklad ukazuje, že Python3 je možnost 2.

5. Nakonec proveďte následující příkaz k ověření verze Pythonu.

python --version

Měli byste vidět Python 3.x.x je výchozí, podobně jako na snímku obrazovky níže.

Instalace databáze Apache Cassandra NoSQL

Nainstalovali jste závislosti a ujistili se, že jde o vhodné verze. Nyní je čas nainstalovat Apache Cassandra!

I když existuje mnoho způsobů, jak nainstalovat Cassandru, nejpohodlnější způsob je prostřednictvím oficiálního úložiště. Nejprve však musíte provést několik rychlých kroků. Chcete-li nainstalovat databázi Cassandra NoSQL na systémy Linux, postupujte následovně.

1. Spuštěním následujícího příkazu vytvořte nový soubor úložiště pro Cassandru.

nano /etc/yum.repos.d/cassandra.repo

2. Zkopírujte následující konfiguraci úložiště Cassandra. Toto úložiště je dostupné pro většinu distribucí Red Hat, včetně Rocky Linuxu.

[cassandra]
name=Apache Cassandra
baseurl=https://downloads.apache.org/cassandra/redhat/40x/
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://downloads.apache.org/cassandra/KEYS

3. Po úpravě uložte a zavřete soubor stisknutím Ctrl+X , Y a Enter .

4. Dále spusťte dnf níže, abyste ověřili všechna dostupná úložiště ve vašem systému.

dnf repolist

V seznamu úložišť byste měli vidět úložiště Apache Cassandra, jak je uvedeno níže.

5. Nyní nainstalujte databázi Cassandra NoSQL spuštěním následujícího příkazu.

dnf install cassandra -y

Po instalaci Apache Cassandra byste měli vidět potvrzovací zprávu, podobnou níže uvedenému snímku obrazovky.

Konfigurace clusteru Apache Cassandra

Jakmile Cassandru nainstalujete, budete muset upravit konfiguraci /etc/cassandra/conf/cassandra.yaml a nastavte cluster Cassandra.

Aby cluster Cassandra fungoval, budete muset změnit výchozí konfiguraci Cassandra na všech serverech, například:

  • Změňte výchozí hodnotu cluster_name .
  • Přidejte IP adresy serveru do seeds možnost.
  • Změňte výchozí listen_address na místní IP adresu.
  • Povolte rpc_address pro připojení klientů.

Nyní pokračujte podle následujících kroků k nastavení clusteru Cassandra.

1. Na cassandra01 , spusťte následující příkaz a otevřete konfiguraci Cassandra cassandra.yaml pro úpravu.

nano /etc/cassandra/conf/cassandra.yaml

2. Změňte výchozí hodnotu cluster name s novým jménem. Tento kurz používá nový název clusteru ATA Cluster .

cluster_name: 'ATA Cluster'

3. Nyní přidejte IP adresu každého serveru s výchozím portem Cassandra TCP 7000 do seeds možnost níže. Formát odpovídá vzoru IP:Port,IP:Port a výchozí port je 7000 .

seeds: "172.16.1.10:7000,172.16.1.15:7000"

4. Dále změňte výchozí listen_address na adresu IP serveru, ne localhost. Možnost listen_address definuje, jakou IP adresu bude Cassandra provozovat.

# for cassandra01
listen_address: 172.16.1.10

# for cassandra02
listen_address: 172.16.1.15

5. Dále změňte výchozí volbu rpc_address s IP adresou serveru, stejnou hodnotou jako listen_address volba. V prostředí clusteru Cassandra procházejí všechna připojení klientů přes IP adresu místního serveru na výchozí TCP port 9042 .

# for cassandra01
rpc_address: 172.16.1.10

# for cassandra02
rpc_address: 172.16.1.15

6. Uložte a zavřete konfigurační soubor stisknutím Ctrl+X , Y a Enter .

7. Po úpravě konfigurace Cassandra spusťte následující příkaz pro spuštění služby Cassandra. Tento příkaz automaticky spustí cluster a dostane se k dalším serverům, jejichž IP adresy jsou na seeds volba.

service cassandra start

8. Nyní potvrďte stav služby Cassandra spuštěním příkazu níže.

service cassandra status

Získáte výstup podobný snímku obrazovky níže. Jak můžete vidět, služba Cassandra je aktivní (běžící) .

Zabezpečení clusteru Apache Cassandra pomocí brány firewall

Nastavení firewallu pro zabezpečení služeb je základním úkolem v produkčním prostředí. To vám umožní omezit přístup ke clusteru Cassandra pouze z konkrétních IP adres nebo rozsahů sítí.

V generických distribucích Red Hat Linux je firewalld výchozím softwarem brány firewall.

Ve výchozím nastavení Cassandra vyžaduje, aby byly otevřeny dva porty TCP. Port 7000 je výchozí port clusteru a port 9042 je nativní výchozí přenosový port pro připojení klientů.

Chcete-li zajistit nasazení clusteru Cassandra pomocí brány firewall, postupujte podle těchto kroků.

1. Nejprve potvrďte, zda již máte firewalld na vašich serverech spuštěním příkazu níže.

dnf search firewalld

Pokud firewalld neexistuje, postupujte podle kroků #2 a #3. Ale pokud firewalld již na serveru existuje, přejděte místo toho ke kroku #4.

2. Pokud nemáte firewalld na vašem systému spusťte následující příkaz a nainstalujte jej.

dnf install firewalld -y

3. Nyní spusťte firewalld službu spuštěním příkazu níže. Tento příkaz spustí firewalld služba s výchozími pravidly, otevírání základních portů a služeb, jako jsou klienti SSH a DHCP.

systemctl start firewalld

Ve výchozím nastavení poskytuje firewalld rozhraní příkazového řádku firewall-cmd pro správu a údržbu pravidel brány firewall.

4. Spusťte následující firewall-cmd příkaz k vytvoření nové zóny pro cluster Cassandra a znovu načtěte firewalld pravidla.

# add firewalld zone cassandra-cluster
firewall-cmd --new-zone=cassandra-cluster --permanent

# reload firewalld
firewall-cmd --reload

Zobrazí se výstupní zpráva úspěch , což znamená, že operace byla úspěšná. Možnost --permanent učiní nová pravidla brány firewall trvalými.

5. Dále přidejte CIDR vaší serverové sítě do cassandra-cluster zóna. Toto pravidlo povoluje všechny servery nebo klienty na CIDR 172.16.1.0/24 mluvit a spojovat se. Chcete-li přidat jednu IP adresu, zadejte IP adresu 172.16.1.20 .

firewall-cmd --zone=cassandra-cluster --add-source=172.16.1.0/24 --permanent

6. Nyní spusťte níže uvedený příkaz a přidejte servisní porty Cassandra 7000 a 9042 na cassandra-cluster zóna.

# add storage_port Apache Cassandra to the zone cassandra_cluster
firewall-cmd --zone=cassandra-cluster --add-port=7000/tcp --permanent

# add Apache Cassandra port for client connections
firewall-cmd --zone=cassandra-cluster --add-port=9042/tcp --permanent

7. Nakonec znovu načtěte firewalld pravidla pro použití nové konfigurace spuštěním příkazu níže.

firewall-cmd --reload

Cluster Cassandra je nyní přístupný pouze prostřednictvím 172.16.1.0/24 sítě a přeruší všechna připojení z jiných sítí.

Kontrola stavu clusteru Apache Cassandra

Nodetool je nativní příkazový nástroj pro správu a monitorování clusteru Cassandra. Tento nástroj umožňuje zobrazit stav metrik clusteru Cassandra, jako jsou tabulky a klíčové prostory, metriky serveru, aplikace, metriky připojení klientů atd.

Obecně platí, že správci spouštějí nodetool příkaz přímo na provozním serveru Cassandra provádějící rutinní údržbu a monitorování databáze.

Chcete-li se naučit základy monitorování clusteru Cassandra pomocí nodetool, postupujte podle následujících kroků utility.

1. Zkontrolujte stav klastru Cassandra spuštěním následujícího příkazu.

nodetool status

Získáte výstup podobný níže uvedenému snímku obrazovky.

  • U znamená, že uzel je NAHORU nebo běh.
  • N znamená, že uzel je NORMÁLNÍ .
  • Adresa může být IP adresa uzlu nebo URL.
  • Načíst je velikost souborů v datovém adresáři Cassandra. Tato hodnota se obnovuje každých 90 sekund.
  • Token je počet tokenů dostupných v uzlu.
  • ID hostitele je ID sítě uzlu. Každý uzel má jiné ID.

2. Nyní spusťte níže uvedený příkaz a získejte podrobné informace o jediném uzlu.

nodetool info

Níže můžete vidět podrobné informace o uzlu, například:

  • Doba provozu
  • Informace o paměti
  • Načíst
  • Mezipaměť klíče a počítadla
  • Umístění datového centra

3. Dále zobrazte podrobnosti clusteru Cassandra spuštěním příkazu níže.

nodetool describecluster

Níže můžete vidět podrobný cluster Cassandra.

  • Informace o klastru obsahuje základní informace o clusteru Cassandra, včetně názvu, výchozího oddílu Cassandra a verze schématu.
  • Statistiky pro všechny uzly označují aktuální stav všech uzlů v clusteru Cassandra.
  • Pokud jste cluster Cassandra postavili na více datových centrech, všechna svá datová centra uvidíte v Datových centrech sekce.
  • Verze databáze sekce zobrazuje verzi Cassandry na každém uzlu clusteru.
  • Seznam všech dostupných klíčových prostorů nebo databází v clusteru Cassandra je k dispozici v části Klíčové prostory sekce.

Připojování ke clusteru Apache Cassandra

Instalace balíčku Apache Cassandra na server také nainstaluje Cassandra Query Language Shell (CQLSH). Tento nástroj umožňuje administrátorům připojit se k Apache Cassandra a spravovat databáze nebo klíčové prostory a uživatele.

Postupujte podle níže uvedených kroků a připojte se ke clusteru Cassandra pomocí příkazového řádku cqlsh .

1. Spusťte cqlsh níže uvedený příkaz pro připojení ke clusteru Cassandra. Zadejte adresu IP Cassandry a výchozí port pro připojení klientů je 9042 .

cqlsh 172.16.1.10 9042

Jakmile se připojíte ke clusteru Cassandra, uvidíte podobný výstup jako na níže uvedeném snímku obrazovky. Tento příklad používá název clusteru ATA Cluster na adrese IP serveru 172.16.1.10 .

2. Nyní spusťte následující dotazy CQL, abyste zjistili, ke kterému serveru jste se připojili, zkontrolujte název clusteru a zkontrolujte všechny dostupné prostory klíčů na Cassandře.

# show detailed host
SHOW HOST

# show cluster name
DESCRIBE CLUSTER

# list all available keyspaces (databases)
DESCRIBE KEYSPACES

Uvidíte podobný výstup jako na snímku obrazovky níže. SHOW HOST dotaz vám ukáže, kde jste připojeni, dotaz DESCRIBE CLUSTER zobrazí název clusteru Cassandra a dotaz DESCRIBE KEYSPACES zobrazí seznam klíčových prostorů na vašem uzlu Cassandra.

3. Nakonec zadejte exit pro odhlášení z cqlsh prostředí.

Závěr

V tomto tutoriálu jste se naučili, jak nainstalovat a nakonfigurovat Apache Cassandra na Linuxu. Také jste nakonfigurovali cluster Apache Cassandra pomocí dvou linuxových serverů a zajistili nasazení pomocí brány Firewalld.

V tuto chvíli jste připraveni přidat další servery a škálovat svá nasazení a zajistit vysokou dostupnost, konzistenci a redundanci pro vaše data.

co tě čeká dál? Možná začněte nastavením ověřování a autorizace ve vašem clusteru Cassandra a poté nastavte replikaci klíčového prostoru/databáze pro vaše aplikace. A když už jste u toho, proč se nenaučit, jak udržovat cluster Apache Cassandra pomocí nástroje nodetool?


Linux
  1. Jak nainstalovat Python na Linux

  2. Jak nainstalovat Apache Cassandra na AlmaLinux / Rocky Linux 8

  3. Jak nainstalovat Apache Kafka na Rocky Linux 8

  1. Jak nainstalovat Apache Cassandra na Ubuntu 18.04 / Ubuntu 16.04 a Debian 9

  2. Jak nainstalovat Python na Linux Mint 20

  3. Jak nainstalovat Python 3.10 na Rocky Linux 8

  1. Jak nainstalovat Apache Cassandra na Oracle Linux 8

  2. Jak nainstalovat Apache Maven na Oracle Linux 8

  3. Jak nainstalovat Apache Cassandra na Ubuntu 20.04