Apache Cassandra je open source distribuované, vysoce výkonné, extrémně škálovatelné a chybově odolné řešení postrelační databáze. Může sloužit jako úložiště dat v reálném čase pro online/transakční aplikace i jako databáze s intenzivním čtením pro systémy business intelligence.
Relační DB versus Cassandra
Relační databázové systémy zpracovávají střední rychlost příchozích dat a stahují data z jednoho nebo několika míst. Spravuje primárně strukturovaná data a podporuje komplexní/vnořené transakce s jednotlivými body selhání s převzetím služeb při selhání.
Cassandra zpracovává vysokou rychlost příchozích dat načítáním dat z mnoha míst. Spravuje všechny typy dat a podporuje jednoduché transakce bez jediného bodu selhání; poskytuje stálou dobu provozuschopnosti. Navíc poskytuje škálovatelnost čtení/zápisu.
V tomto článku uvádím pokyny, jak jsem nainstaloval Apache Cassandra a spustil cluster s jedním uzlem na svém serveru Ubuntu 16.04.
Předpoklady
- Spuštění vyžaduje platformu Java
- Uživatel pro spuštění této aplikace
Nainstalujte Javu
Cassandra potřebuje, aby na vašem serveru běžela Java aplikace, ujistěte se, že máte nainstalovanou nejnovější verzi Java. Můžete aktualizovat balíčky úložiště APT a nainstalovat Javu. Cassandra 3 nebo novější vyžaduje instalaci verze Java 8+.
root@ubuntu:~# apt-get update
root@ubuntu:~# apt-get install default-jdk
Setting up default-jdk (2:1.8-56ubuntu2) ...
Setting up gconf-service-backend (3.2.6-3ubuntu6) ...
Setting up gconf2 (3.2.6-3ubuntu6) ...
Setting up libgnomevfs2-common (1:2.24.4-6.1ubuntu1) ...
Setting up libgnomevfs2-0:amd64 (1:2.24.4-6.1ubuntu1) ...
Setting up libgnome2-common (2.32.1-5ubuntu1) ...
Setting up libgnome-2-0:amd64 (2.32.1-5ubuntu1) ...
Processing triggers for libc-bin (2.23-0ubuntu3) ...
Processing triggers for ureadahead (0.100.0-19) ...
Processing triggers for systemd (229-4ubuntu4) ...
Processing triggers for ca-certificates (20160104ubuntu1) ...
Updating certificates in /etc/ssl/certs...
0 added, 0 removed; done.
Running hooks in /etc/ca-certificates/update.d...
done.
done.
Můžete potvrdit nainstalovanou verzi Java.
root@ubuntu:~# java -version
openjdk version "1.8.0_91"
OpenJDK Runtime Environment (build 1.8.0_91-8u91-b14-0ubuntu4~16.04.1-b14)
OpenJDK 64-Bit Server VM (build 25.91-b14, mixed mode)
Vytvoření uživatele pro spuštění Cassandry
Vždy se doporučuje spouštět tuto aplikaci jako uživatel namísto root. Proto jsem vytvořil svého uživatele Cassandra, aby spouštěl tuto aplikaci.
root@ubuntu:~# groupadd cassandra
root@ubuntu:~# useradd -d /home/cassandra -s /bin/bash -m -g cassandra cassandra
root@ubuntu:~# grep cassandra /etc/passwd
cassandra:x:1000:1000::/home/cassandra:/bin/bash
Stáhněte si a nainstalujte Cassandru
Nyní si odtud můžeme stáhnout nejnovější Apache Cassandra a zkopírovat do vámi preferovaného adresáře. Stáhl jsem tento soubor tar do své složky /tmp a extrahoval obsah do mé cassandry "domů" tam.
root@ubuntu:/tmp# wget http://mirror.cc.columbia.edu/pub/software/apache/cassandra/3.6/apache-cassandra-3.6-bin.tar.gz
--2016-06-12 08:36:47-- http://mirror.cc.columbia.edu/pub/software/apache/cassandra/3.6/apache-cassandra-3.6-bin.tar.gz
Resolving mirror.cc.columbia.edu (mirror.cc.columbia.edu)... 128.59.59.71
Connecting to mirror.cc.columbia.edu (mirror.cc.columbia.edu)|128.59.59.71|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 35552323 (34M) [application/x-gzip]
Saving to: ‘apache-cassandra-3.6-bin.tar.gz’
apache-cassandra-3.6-bin.tar.gz 100%[===================================================================>] 33.91M 6.43MB/s in 12s
2016-06-12 08:37:01 (2.93 MB/s) - ‘apache-cassandra-3.6-bin.tar.gz’ saved [35552323/35552323]
root@ubuntu:/tmp# tar -xvf apache-cassandra-3.6-bin.tar.gz -C /home/cassandra --strip-components=1
Oprava vlastnictví a nastavení proměnných
Můžete opravit vlastnictví souborů a nastavit správné proměnné prostředí, aby tato aplikace běžela hladce.
root@ubuntu:/home/cassandra# export CASSANDRA_HOME=/home/cassandra
root@ubuntu:/home/cassandra# export PATH=$PATH:$CASSANDRA_HOME/bin
root@ubuntu:/home/cassandra# chown -R cassandra.cassandra .
Nyní se můžete přepnout na uživatele cassandra a spustit tuto aplikaci, jak je uvedeno níže:
cassandra@ubuntu:~$ sh bin/cassandra
INFO 09:10:39 Cassandra version: 3.6
INFO 09:10:39 Thrift API version: 20.1.0
INFO 09:10:39 CQL supported versions: 3.4.2 (default: 3.4.2)
INFO 09:10:39 Initializing index summary manager with a memory pool size of 24 MB and a resize interval of 60 minutes
INFO 09:10:39 Starting Messaging Service on localhost/127.0.0.1:7000 (lo)
INFO 09:10:39 Loading persisted ring state
INFO 09:10:39 Starting up server gossip
INFO 09:10:39 Updating topology for localhost/127.0.0.1
INFO 09:10:39 Updating topology for localhost/127.0.0.1
INFO 09:10:39 Node localhost/127.0.0.1 state jump to NORMAL
Tento výstup znamená, že váš server Cassandra je nyní v pořádku. Nyní můžeme tímto příkazem zkontrolovat a potvrdit stav našeho Clusteru.
root@ubuntu:/home/cassandra# 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 142.65 KiB 256 100.0% fc76be14-acde-47d4-a4a2-5d015804bb3c rack1
The status and state notation UN means it is up and normal.
Dokončili jsme instalaci clusteru Single Node Cassandra. Nyní vidíme, jak se připojit k našemu clusteru.
Připojování k našemu clusteru
Můžeme spustit tento shell skript "cqlsh " pro připojení k našemu uzlu clusteru.
Toto jsou různé CQL příkazy používané v Cassandře. Více informací o tom, jak to používat, můžete získat zde.
Dobrý den! jsme hotovi s jednouzlovým klastrem Cassandra na našem serveru Ubuntu 16.04. Doufám, že se vám to líbilo. Doporučil bych vám k tomu vaše cenné komentáře a návrhy.
Děkuji!