Tutoriales

Instalar Cassandra en CentOS Linux

1. Introducción

Casandra es un sistema de administración de bases de datos de código abierto distribuido con una amplia memoria de columna y una base de datos NoSQL que puede procesar grandes cantidades de datos en muchos servidores estándar sin un solo punto de falla. Fue creado por Apache Software Foundation y está escrito en Java. En este artículo, veremos paso a paso cómo instalar Cassandra en CentOS 7 Linux.

2. Requisitos

Todos los comandos que se dan a continuación deben ejecutarse como root o sudo Usuario.

2.1. Instalar Python 2.7

Python 2.7 está preinstalado en CentOS 7. Si por alguna razón falta, puedes instalarlo con el siguiente comando:

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

2.2. Instalar Java

Utilice los siguientes comandos para instalar la última versión de Java 8 y verificar la instalación.

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

Salida de muestra:

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. Cómo instalar Cassandra

Primero, agreguemos el repositorio de Cassandra. Para hacer esto, cree un archivo llamado cassandra.repo debajo /etc/yum.repos.d/ Directorio:

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

Agrega las siguientes líneas:

[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

prensa ESC Clave y tipo :wq para guardar y cerrar el archivo.

Verifique que se haya agregado el repositorio de Cassandra. El siguiente comando asegura los repositorios instalados y activados:

# yum repolist
Lista de repositorios de Yum activados

Después de agregar el repositorio, ejecute el siguiente comando para instalar Cassandra en su sistema CentOS:

# yum -y install cassandra

Activar e iniciar el servicio Cassandra:

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

Asegurar el estado de Cassandra:

# systemctl status cassandra
Verificar el estado de Cassandra
Verificar el estado de Cassandra

Utilice el siguiente comando para obtener los detalles del clúster, como el estado, la utilización y los ID:

# nodetool status

Salida de muestra:

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
Ver detalles del clúster
Ver detalles del clúster

En la edición,

  • A – Alto y normal
  • Dirección – dirección IP del nodo
  • carga – Después de excluir todo el contenido en el subdirectorio «Instantáneas», la cantidad de datos del sistema de archivos en el directorio de datos de Cassandra. Se actualiza una vez cada 90 segundos.
  • Simbólico – La cantidad de tokens asignados al nodo.
  • Posee – Cuántos datos tiene el nodo; un nodo puede poseer el 33% del anillo, pero mostrar el 100% si el factor de replicación es 3.
  • ID de host – ID de red del host
  • cuadro – Rack del nodo donde existe.

4. Cqlsh – CLI para Cassandra

cqlsh es una interfaz de línea de comandos para usar CQL para conectarse a Cassandra (Cassandra Query Language). Se incluye en todos los paquetes de Cassandra y se puede encontrar junto con el archivo ejecutable de Cassandra. bin/ Directorio. El controlador del protocolo Python nativo se utiliza para implementar cqlsh que se conecta a un solo nodo.

Para iniciar la ejecución de Cqlsh:

# cqlsh

Salida de muestra:

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>
Cqlsh.  comienzo
Cqlsh. comienzo

5. Ejemplos de comandos CQL

5.1. Crear espacio clave

En Cassandra, un espacio de claves sirve como un contenedor de datos, similar a una base de datos en los sistemas de administración de bases de datos relacionales (RDMBS)

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

Verifique los espacios clave en el sistema usando los comandos a continuación.

cqlsh> SELECT * FROM system_schema.keyspaces;
Verificar espacios clave
Verificar espacios clave

Para ver todos los espacios clave, haga lo siguiente:

cqlsh> desc keyspaces;

Se enumeran todos los espacios clave del clúster:

ostechnix  system_auth         system_schema  system_views
system     system_distributed  system_traces  system_virtual_schema
Mostrar todos los espacios clave
Mostrar todos los espacios clave

5.2. Cree una tabla e inserte datos de muestra

Puede utilizar el … CREATE TABLE Declaración que define los tipos de datos para cada columna como lo hacemos normalmente en RDBMS. Los datos se almacenan en tablas CQL con filas de columnas, similar a las definiciones de SQL.

Necesita definir ‘claves primarias’ y otros campos de datos para crear una tabla. Siga el ejemplo de construcción de tablas a continuación.

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

Utilizar el INSERT Instrucción para insertar datos simples en la tabla ostechnix.sample_table que creamos arriba. En este ejemplo a continuación, se agregan dos registros a la tabla.

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. Consultar la tabla

Utilice la instrucción SELECT para devolver una o más filas de una tabla.

cqlsh> SELECT * FROM ostechnix.sample_table;
Tabla de consultas
Tabla de consultas

Aquí, * devuelve todos los datos de la tabla.

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

Salida de muestra:

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 no ejecuta una consulta que no contiene valores para todas las columnas de la clave principal en el ‘where‘Cláusula y emite la advertencia de error anterior para su uso 'ALLOW FILTERING'.

La razón de este error es que Cassandra no puede identificar el nodo que tiene los resultados requeridos si la clave de partición completa no está en el archivo. WHERE Cláusula. Como resultado, Cassandra tiene que escanear todo el conjunto de datos en cada nodo para asegurarse de que se hayan identificado los datos relevantes.

cqlsh> SELECT * FROM ostechnix.sample_table WHERE weight="85" ALLOW FILTERING;
Filtrar elementos de la tabla
Filtrar elementos de la tabla

6. Resumen

En este artículo, analizamos los procedimientos de instalación de Cassandra y algunos comandos CQL de muestra. Veremos en profundidad la Operación Cassandra en los próximos artículos.

Recursos:

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba