GNU/Linux >> Tutoriels Linux >  >> Cent OS

Comment créer un espace de clés dans Cassandra

Présentation

Cassandra est un logiciel de gestion de bases de données NoSQL. Les organisations l'utilisent pour gérer de gros volumes de données de manière distribuée. La popularité de ce logiciel a augmenté en raison de sa haute disponibilité et de sa tolérance aux pannes.

Pour y parvenir, Cassandra est passée du concept de nœuds maîtres ou nommés à des nœuds distribués P2P symétriques. Chaque nœud d'un cluster possède un ou plusieurs espaces de clés contenant des données.

Dans ce guide, découvrez ce qu'est un espace de clés, ses composants et comment créer, modifier et supprimer un espace de clés.

Prérequis

  • Cassandre installé sur votre système
  • Accès à un terminal ou ligne de commande
  • Autorisations nécessaires pour exécuter des commandes CQL

Qu'est-ce qu'un espace de clés dans Cassandra ?

Un espace de clés est un conteneur de données dans Cassandra, similaire à une base de données dans les systèmes de gestion de bases de données relationnelles (RDMBS). Un cluster possède un espace de clés par application, autant que nécessaire, en fonction des exigences et de l'utilisation du système. Les espaces de clés sont des entités entièrement distinctes et les données qu'ils contiennent ne sont pas liées les unes aux autres.

Dans un cluster Cassandra, un espace de clés est un objet le plus externe qui détermine la manière dont les données se répliquent sur les nœuds. Les espaces de clés se composent d'objets de base appelés familles de colonnes (qui sont comme des tables dans le SGBDR), de lignes indexées par clés, de types de données, de sensibilisation au centre de données, de facteur de réplication et de stratégie d'espace de clés.

Composants Cassandra Keyspace

Vous devez spécifier certains composants d'espace de clés essentiels lorsque vous créez un espace de clés. Ces composants sont :

Stratégie de réplication

Lors de la définition d'un espace de clés, la stratégie de réplication spécifie les nœuds où les répliques seront placées. En utilisant plusieurs nœuds pour placer des répliques, vous bénéficiez d'une tolérance aux pannes, d'une haute disponibilité et d'une fiabilité.

Deux stratégies sont possibles :

  1. Stratégie simple. Utilisez cette stratégie pour les environnements de test et de développement, et si vous n'avez pas l'intention de déployer un cluster dans plusieurs centres de données. Le facteur de réplication s'applique à l'ensemble du cluster. Le partitionneur décide où placer la première réplique sur un nœud. Ensuite, d'autres répliques sont distribuées dans le sens des aiguilles d'une montre sur les nœuds suivants, quel que soit le centre de données ou l'emplacement.
  2. Stratégie de topologie réseau. Cette stratégie convient lorsque vous devez déployer votre cluster sur plusieurs centres de données. Cependant, vous pouvez l'utiliser même avec un seul centre de données afin de pouvoir vous développer ultérieurement. La stratégie de topologie réseau fonctionne à la fois pour la production et le développement. Il a tendance à placer des répliques sur des nœuds qui ne se trouvent pas dans le même rack pour éviter les problèmes lorsqu'un rack tombe en panne. Chaque centre de données peut avoir un facteur de réplication distinct en utilisant cette option.

Facteur de réplication

Ce paramètre définit le nombre de répliques d'une ligne à stocker sur chaque nœud.

Le minimum doit être de deux répliques par centre de données. Cela signifie que la défaillance d'un nœud n'a pas d'incidence sur le fonctionnement d'un groupe de réplication. Par conséquent, le paramètre recommandé consiste à disposer de trois copies de chaque ligne sur différents nœuds pour obtenir une tolérance aux pannes satisfaisante.

La règle d'or consiste à conserver le même facteur de réplication que le nombre de nœuds.

Syntaxe de base de l'espace de clés

Vous pouvez créer un espace de clés avec différents paramètres de réplication. Vous trouverez ci-dessous la syntaxe de base pour créer un espace de clés :

CREATE KEYSPACE keypsace_name WITH replication = {properties};

Les propriétés incluent différents paramètres tels que la stratégie de réplication, le facteur ou les écritures durables.

Créer un espace de clés à l'aide de Cqlsh

Pour créer un keyspace, lancez le shell CQL :

cqlsh

Ensuite, en suivant la syntaxe de base, créez un espace de clés avec le nom et les paramètres de réplication souhaités.

Dans ce cas, nous allons créer test_keyspace avec SimpleStrategy et replication_factor 3 :

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

Utilisez l'exemple ci-dessus lorsque vous n'avez pas l'intention de vous étendre à plusieurs centres de données. De plus, si vous n'avez qu'un seul nœud et que vous utilisez Cassandra pour les tests, vous pouvez définir replication_factor à 1 .

Pour les environnements de production et plusieurs centres de données , créez un espace de clés avec la stratégie de réplication de la topologie du réseau.

Pour ce faire, saisissez :

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

Le nom du centre de données par défaut est datacenter1 . Pour vérifier le nom de votre centre de données, fermez le shell CQL et utilisez nodetool :

nodetool status

Si vous avez plusieurs centres de données, répertoriez-les tous dans la requête avec les facteurs de réplication respectifs.

Par exemple, la requête pour deux centres de données ressemble à ceci :

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

Vérifier l'espace de clés

Puisqu'il n'y a pas de réponse dans la sortie pour la création réussie de l'espace de clés, utilisez cette commande pour vérifier que l'espace de clés est dans la liste :

DESCRIBE KEYSPACES;

Le système renvoie une liste de tous les espaces de clés Cassandra disponibles. Nous avons mis en évidence les deux espaces de clés que nous avons créés dans les exemples ci-dessus. Il existe quelques espaces de clés par défaut fournis avec l'installation de Cassandra.

Désactiver les écritures durables

Dans Cassandra, les écritures_durables la configuration est vraie par défaut. Vous pouvez le désactiver, mais uniquement pour NetworkTopologyStrategy . Cette option indique à Cassandra si elle doit utiliser commitlog pour effectuer des mises à jour dans l'espace de clés sélectionné.

Lorsque vous essayez de désactiver durable_writes lors de la création d'un keyspace avec SimpleStrategy, vous recevez un avertissement de ne pas le faire. La raison en est que vous pouvez perdre vos données si vous n'avez pas synchronisé les données de memtable à stable , et votre centre de données tombe en panne.

Pour désactiver durable_writes lors de la création d'un espace de clés, saisissez cette requête :

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

Vérifier les écritures durables

Vous pouvez vérifier la requête utilisée lors de la création de l'espace de clés en décrivant l'espace de clés. Les écritures_durables la partie apparaît également :

DESCRIBE keyspace_durwrites

Pour vérifier les durable_writes paramètres pour tous les espaces de clés, interrogez system_schema :

SELECT * FROM system_schema.keyspaces;

La sortie affiche tous les espaces de clés et leurs paramètres, y compris durable_writes .

Utiliser Keyspace

Pour sélectionner un espace de clés dans Cassandra et effectuer des actions dessus, utilisez le mot-clé USE .

La syntaxe est :

USE keyspace_name

Par exemple :

USE keyspace_durwrites;

Le shell CQL passe au nom de l'espace de clés que vous avez spécifié. Pour modifier l'espace de touches actuel, utilisez la même commande avec un autre nom.

Modifier l'espace de touches

Après avoir créé un espace de clés, vous pouvez modifier la configuration à l'aide du mot-clé ALTER .

La seule chose que vous ne pouvez pas modifier est le nom de l'espace de clés . En dehors de cela, vous pouvez modifier la stratégie de réplication, le facteur de réplication et les écritures durables.

Pour modifier un espace de clés, suivez la même syntaxe que lors de sa création, mais utilisez ALTER au lieu de CREATE . Modifiez les valeurs souhaitées.

Par exemple :

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

Pour vérifier que les modifications ont pris effet, utilisez le DESCRIBE mot-clé :

L'image ci-dessus montre la configuration de l'espace de clés avant et après le changement.

Supprimer ou supprimer l'espace de clés

Si vous déposez un espace de clés, il sera supprimé du système. Le DROP Le mot-clé supprime toutes les familles de colonnes de l'espace de clés, ainsi que les index et les types de données.

Pour supprimer un espace de clés dans Cassandra, utilisez cette syntaxe :

DROP keyspace_name;

Par exemple :

DROP keyspace_durwrites;

Pour vous assurer que vous avez supprimé l'espace de clés, utilisez le DESCRIBE requête.


Cent OS
  1. Comment créer une table dans Hive

  2. Comment créer un sous-domaine

  3. Comment créer un sous-domaine

  4. Comment créer un utilisateur sudo sur CentOS 7

  5. Comment créer Virtual Data Optimizer (VD0) dans CentOS/RHEL 7 et 8

Comment créer un utilisateur Sudo sur CentOS

Comment installer Apache Cassandra sur CentOS 6

Comment installer Textpattern sur CentOS 7

Comment installer Cassandra sur CentOS 7

Comment créer un système de fichiers XFS

Comment créer et gérer des domaines de stockage dans RedHat Virtualization (RHV)