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

Come creare uno spazio chiave in Cassandra

Introduzione

Cassandra è un software per la gestione dei database NoSQL. Le organizzazioni lo utilizzano per gestire grandi volumi di dati in modo distribuito. La popolarità di questo software è aumentata grazie all'elevata disponibilità e alla tolleranza ai guasti.

Per raggiungere questo obiettivo, Cassandra è passata dal concetto di nodi master o denominati a nodi distribuiti P2P simmetrici. Ogni nodo in un cluster ha uno o più spazi delle chiavi che contengono dati.

In questa guida, scopri cos'è uno spazio chiave, i suoi componenti e come creare, modificare e rilasciare uno spazio chiave.

Prerequisiti

  • Cassandra installato sul tuo sistema
  • Accesso a un terminale o riga di comando
  • Autorizzazioni necessarie per eseguire comandi CQL

Cos'è uno spazio chiave in Cassandra?

Uno spazio delle chiavi è un contenitore di dati in Cassandra, simile a un database nei sistemi di gestione di database relazionali (RDMBS). Un cluster dispone di uno spazio delle chiavi per applicazione, tanti quanti ne servono, a seconda dei requisiti e dell'utilizzo del sistema. Gli spazi delle chiavi sono entità completamente separate e i dati che contengono non sono correlati tra loro.

In un cluster Cassandra, uno spazio delle chiavi è un oggetto più esterno che determina la modalità di replica dei dati sui nodi. Gli spazi delle chiavi sono costituiti da oggetti principali chiamati famiglie di colonne (che sono come le tabelle in RDBMS), righe indicizzate per chiavi, tipi di dati, riconoscimento del data center, fattore di replica e strategia per lo spazio delle chiavi.

Componenti di Cassandra Keyspace

Ci sono alcuni componenti essenziali dello spazio delle chiavi che devi specificare quando crei uno spazio delle chiavi. Questi componenti sono:

Strategia di replica

Quando si definisce uno spazio delle chiavi, la strategia di replica specifica i nodi in cui verranno posizionate le repliche. Utilizzando più nodi per posizionare le repliche, ottieni tolleranza agli errori, disponibilità elevata e affidabilità.

Ci sono due possibili strategie:

  1. Strategia semplice. Utilizza questa strategia per ambienti di test e sviluppo e se non intendi distribuire un cluster in più di un data center. Il fattore di replica si applica all'intero cluster. Il partizionatore decide dove inserire la prima replica su un nodo. Quindi, altre repliche vengono distribuite in senso orario sui nodi successivi indipendentemente dal data center o dalla posizione.
  2. Strategia per la topologia di rete. Questa strategia è adatta quando devi distribuire il tuo cluster a più data center. Tuttavia, puoi utilizzarlo anche con un singolo data center in modo da poterlo espandere in un secondo momento. Network Topology Strategy funziona sia per la produzione che per lo sviluppo. Tende a posizionare repliche su nodi che non si trovano nello stesso rack per evitare problemi quando un rack si disattiva. Ogni data center può avere un fattore di replica separato utilizzando questa opzione.

Fattore di replica

Questa impostazione definisce quante repliche di una riga archiviare su ciascun nodo.

Il minimo dovrebbe essere di due repliche per data center. Ciò significa che l'errore di un nodo non influisce sul funzionamento di un gruppo di replica. Pertanto, l'impostazione consigliata consiste nell'avere tre copie di ogni riga su nodi diversi per ottenere una tolleranza agli errori soddisfacente.

La regola pratica è mantenere il fattore di replica uguale al numero di nodi.

Sintassi di base dello spazio delle chiavi

È possibile creare uno spazio chiave con diverse impostazioni di replica. Di seguito è riportata la sintassi di base per la creazione di uno spazio delle chiavi:

CREATE KEYSPACE keypsace_name WITH replication = {properties};

Le proprietà includono impostazioni diverse come strategia di replica, fattore o scritture durevoli.

Crea uno spazio chiave usando Cqlsh

Per creare uno spazio delle chiavi, avvia la shell CQL:

cqlsh

Quindi, seguendo la sintassi di base, crea uno spazio chiave con il nome e le impostazioni di replica desiderati.

In questo caso, creeremo test_keyspace con Strategia semplice e fattore_replica 3 :

CREATE KEYSPACE test_keyspace
WITH replication = {'class':'SimpleStrategy', 'replication_factor' : 3};

Utilizzare l'esempio sopra quando non si intende espandere a più data center. Inoltre, se hai un solo nodo e stai utilizzando Cassandra per il test, puoi impostare fattore_replica a 1 .

Per ambienti di produzione e multipli centri dati , crea uno spazio chiave con la strategia di replica della topologia di rete.

Per farlo, inserisci:

CREATE KEYSPACE keyspace_network_topology
WITH replication = {'class':'NetworkTopologyStrategy', 'datacenter1' : 3};

Il nome predefinito del centro dati è centro dati1 . Per controllare il nome del tuo data center, chiudi la shell CQL e usa nodetool :

nodetool status

Se disponi di più data center, elencali tutti nella query con i rispettivi fattori di replica.

Ad esempio, la query per due data center è simile alla seguente:

CREATE KEYSPACE keyspace_network_topology
WITH replication = {'class':'NetworkTopologyStrategy', 'datacenter1' : 3, 'datacenter2' : 3};

Verifica spazio chiave

Poiché non c'è alcuna risposta nell'output per la creazione dello spazio delle chiavi riuscita, utilizzare questo comando per verificare che lo spazio delle chiavi sia nell'elenco:

DESCRIBE KEYSPACES;

Il sistema restituisce un elenco di tutti gli spazi delle chiavi Cassandra disponibili. Abbiamo evidenziato i due keyspace che abbiamo creato negli esempi precedenti. Ci sono un paio di spazi delle chiavi predefiniti forniti con l'installazione di Cassandra.

Disabilita scritture durevoli

In Cassandra, i durable_writes la configurazione è vera per impostazione predefinita. Puoi disabilitarlo, ma solo per NetworkTopologyStrategy . Questa opzione dice a Cassandra se deve usare commitlog per effettuare aggiornamenti nello spazio delle chiavi selezionato.

Quando provi a disabilitare durable_writes quando crei uno spazio delle chiavi con SimpleStrategy, ricevi un avviso di non farlo. Il motivo è che puoi perdere i tuoi dati se non hai sincronizzato i dati da memtable a stabile e il tuo data center si guasta.

Per disabilitare durable_writes durante la creazione di uno spazio chiave, inserisci questa query:

CREATE KEYSPACE keyspace_durwrites
WITH replication = {'class':'NetworkTopologyStrategy', 'datacenter1' : 3}
AND DURABLE_WRITES = false;

Verifica delle scritture durevoli

È possibile controllare la query utilizzata durante la creazione dello spazio delle chiavi descrivendo lo spazio delle chiavi. Le scritture_durevoli compare anche la parte:

DESCRIBE keyspace_durwrites

Per controllare i durable_writes impostazioni per tutti gli spazi delle chiavi, interroga schema_sistema :

SELECT * FROM system_schema.keyspaces;

L'output mostra tutti gli spazi delle chiavi e le relative impostazioni, inclusi durable_writes .

Utilizzo di Keyspace

Per selezionare uno spazio chiave in Cassandra ed eseguire azioni su di esso, utilizza la parola chiave USE .

La sintassi è:

USE keyspace_name

Ad esempio:

USE keyspace_durwrites;

La shell CQL passa al nome dello spazio delle chiavi specificato. Per modificare lo spazio delle chiavi corrente, usa lo stesso comando con un altro nome.

Modifica spazio chiave

Dopo aver creato uno spazio chiave, puoi modificare la configurazione utilizzando la parola chiave ALTER .

L'unica cosa che non puoi modificare è il nome dello spazio delle chiavi . Oltre a ciò, puoi modificare la strategia di replica, il fattore di replica e le scritture durevoli.

Per modificare uno spazio chiave, segui la stessa sintassi di quando lo crei, ma usa ALTER invece di CREATE . Modifica i valori che desideri.

Ad esempio:

ALTER KEYSPACE keyspace_durwrites
WITH replication = {'class':'NetworkTopologyStrategy', 'datacenter1' : 2}
AND DURABLE_WRITES = true;

Per verificare che le modifiche abbiano avuto effetto, utilizza il DESCRIBE parola chiave:

L'immagine sopra mostra la configurazione dello spazio delle chiavi prima e dopo la modifica.

Rilascia o elimina spazio chiave

Se si elimina uno spazio chiave, questo verrà eliminato dal sistema. Il DROP la parola chiave rimuove tutte le famiglie di colonne dallo spazio delle chiavi, nonché gli indici e i tipi di dati.

Per eliminare uno spazio chiave in Cassandra, utilizza questa sintassi:

DROP keyspace_name;

Ad esempio:

DROP keyspace_durwrites;

Per assicurarti di aver eliminato lo spazio delle chiavi, utilizza il DESCRIBE interrogazione.


Cent OS
  1. Come creare una tabella in Hive

  2. Come creare un sottodominio

  3. Come creare un sottodominio

  4. Come creare un utente sudo su CentOS 7

  5. Come creare Virtual Data Optimizer (VD0) in CentOS/RHEL 7 e 8

Come creare un utente Sudo su CentOS

Come installare Apache Cassandra su CentOS 6

Come installare Textpattern su CentOS 7

Come installare Cassandra su CentOS 7

Come creare un filesystem XFS

Come creare e gestire domini di archiviazione in RedHat Virtualization (RHV)