GNU/Linux >> Linux Esercitazione >  >> Cent OS

Come installare Apache Cassandra in CentOS

1. Introduzione

Cassandra è un sistema di gestione di database distribuito open source con un ampio archivio di colonne e un database NoSQL in grado di gestire enormi quantità di dati su molti server di base senza un singolo punto di errore. È stato creato dalla Apache Software Foundation ed è scritto in Java. In questo articolo, analizzeremo la procedura passo passo per installare Cassandra in CentOS 7 Linux.

2. Prerequisiti

Tutti i comandi forniti di seguito devono essere eseguiti come root o sudo utente.

2.1. Installa Python 2.7

Su CentOS 7, Python 2.7 è preinstallato. Se manca per qualche motivo, puoi utilizzare il seguente comando per installarlo:

# yum -y install python
# python --version
Python 2.7.5

2.2. Installa Java

Utilizzare i comandi seguenti per installare l'ultima versione di Java 8 e verificare l'installazione.

# yum install java-1.8.0-openjdk-devel
# java -version

Risultato di esempio:

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)

3. Come installare Cassandra

Innanzitutto, aggiungiamo il repository Cassandra. Per farlo, crea un file chiamato cassandra.repo sotto /etc/yum.repos.d/ directory:

# vi /etc/yum.repos.d/cassandra.repo

Aggiungi le seguenti righe:

[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

Premi ESC digitare e digitare :wq per salvare il file e chiuderlo.

Verifica se il repository Cassandra è stato aggiunto. Il comando seguente garantirà i repository installati e abilitati:

# yum repolist

Dopo aver aggiunto il repository, esegui il seguente comando per installare Cassandra nel tuo sistema CentOS:

# yum -y install cassandra

Abilita e avvia il servizio Cassandra:

# systemctl enable cassandra
cassandra.service is not a native service, redirecting to /sbin/chkconfig.
Executing /sbin/chkconfig cassandra on
# systemctl start Cassandra

Garantire lo stato di Cassandra:

# systemctl status cassandra

Utilizza il comando seguente per ottenere i dettagli del cluster come la sua condizione, il carico e gli ID:

# nodetool status

Risultato di esempio:

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%            bf2df7a9-54bc-41c9-8c6c-0b9322d10e71  rack1

Nell'output,

  • ONU - Su &Normale
  • Indirizzo - Indirizzo IP del nodo
  • Carica - Dopo aver escluso tutto il contenuto nella sottodirectory snapshot, la quantità di dati del file system nella directory dei dati di Cassandra. Ogni 90 secondi una volta Verrà aggiornato.
  • Token - Il numero di token che sono stati assegnati al nodo.
  • Possiede - Quanti dati possiede il nodo; un nodo può possedere il 33% dell'anello ma visualizzare il 100% se il fattore di replica è 3.
  • ID host - ID di rete dell'host
  • Rack - Rack del Nodo dove esiste.

4. Cqlsh – CLI per Cassandra

cqlsh è un'interfaccia della riga di comando per l'utilizzo di CQL per la connessione con Cassandra (Cassandra Query Language). È incluso in ogni pacchetto Cassandra e può essere trovato insieme all'eseguibile cassandra nel bin/ directory. Il driver del protocollo nativo Python viene utilizzato per implementare cqlsh, che si connette a un singolo nodo.

Per avviare Cqlsh, esegui:

# cqlsh

Risultato di esempio:

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

5. Comandi di esempio CQL

5.1. Crea spazio chiave

In Cassandra, uno spazio delle chiavi funge da contenitore di dati, simile a un database nei sistemi di gestione di database relazionali (RDMBS)

cqlsh> CREATE KEYSPACE IF NOT EXISTS OsTechNix WITH REPLICATION = { 'class' : 'NetworkTopologyStrategy', 'datacenter1' : 3 };
cqlsh>

Controlla gli spazi chiave nel sistema usando i comandi seguenti.

cqlsh> SELECT * FROM system_schema.keyspaces;

Per mostrare tutti gli spazi delle chiavi, esegui:

cqlsh> desc keyspaces;

Verranno elencati tutti gli spazi delle chiavi nel cluster:

ostechnix  system_auth         system_schema  system_views
system     system_distributed  system_traces  system_virtual_schema

5.2. Crea tabella e inserisci dati di esempio

Puoi usare il CREATE TABLE istruzione che definisce i tipi di dati per ogni colonna come di solito facciamo in RDBMS. I dati vengono archiviati in tabelle CQL con righe di colonne, proprio come le definizioni SQL.

È necessario definire la "chiave primaria" e altri campi di dati per la creazione di una tabella. Segui l'esempio seguente per la creazione della tabella.

cqlsh> CREATE TABLE ostechnix.sample_table ( id UUID PRIMARY KEY, name text, birthday timestamp, nationality text, weight text, height text );
cqlsh>

Usa il INSERT istruzione per inserire dati semplici nella tabella ostechnix.sample_table che creiamo sopra. In questo esempio di seguito, due record vengono aggiunti alla tabella.

cqlsh> INSERT INTO ostechnix.sample_table (id, name, nationality) VALUES (5b6962dd-3f90-4c93-8f61-eabfa4a803e2, 'KARTHICK', 'Indian');
cqlsh> INSERT INTO ostechnix.sample_table (id, name, nationality, weight) VALUES (5b6962dd-3f90-4c93-8f61-eabfa4a804e3, 'MOHAN', 'Indian', '85');

5.3. Interrogazione della tabella

Usa l'istruzione SELECT per restituire una o più righe da una tabella.

cqlsh> SELECT * FROM ostechnix.sample_table;

Qui, * restituisce tutti i dati dalla tabella.

cqlsh> SELECT * FROM ostechnix.sample_table WHERE weight = '85';

Risultato di esempio:

InvalidRequest: Error from server: code=2200 [Invalid query] message="Cannot execute this query as it might involve data filtering and thus may have unpredictable performance. If you want to execute this query despite the performance unpredictability, use ALLOW FILTERING"
cqlsh>

Cassandra non eseguirà una query che non specifica i valori per tutte le colonne dalla chiave primaria in 'where ', ed emetterà l'errore di cui sopra avvertendo di usare 'ALLOW FILTERING' .

Il motivo di questo errore è che Cassandra non sarà in grado di identificare il nodo che contiene i risultati richiesti se la chiave di partizione completa non è inclusa in WHERE clausola. Di conseguenza, Cassandra dovrà scansionare l'intero set di dati su ciascun nodo per garantire di aver identificato i dati rilevanti.

cqlsh> SELECT * FROM ostechnix.sample_table WHERE weight = '85' ALLOW FILTERING;

6. Riepilogo

In questo articolo, abbiamo esaminato le procedure di installazione di Cassandra e alcuni esempi di comandi CQL. Nei prossimi articoli faremo un tuffo nell'operazione Cassandra.


Cent OS
  1. Come installare Apache Cassandra su CentOS 8

  2. Come installare Apache su CentOS 7

  3. Come installare Apache Cassandra su CentOS 7

  4. Come installare il database Apache Cassandra NoSQL su CentOS 8

  5. Come installare Apache Kafka su CentOS 8

Come installare Apache ServiceMix su CentOS 7

Come installare elgg su CentOS 8

Come installare Apache ServiceMix su CentOS 8

Installa Apache Cassandra in CentOS 8

Come installare Apache SVN su CentOS 7

Come installare Apache Cassandra su CentOS 6