Apache Cassandra es una base de datos NoSQL distribuida y altamente escalable, diseñada para manejar grandes cantidades de datos en múltiples servidores. En este artículo, te mostraremos cómo instalar Apache Cassandra en Fedora 39 paso a paso. Este tutorial está diseñado para ser técnico pero accesible para los recién llegados.

Requisitos Previos

Antes de comenzar, asegúrate de tener lo siguiente:

  • Un sistema Fedora 39 instalado.
  • Acceso a una cuenta con privilegios de superusuario (root) o acceso a sudo.
  • Java Development Kit (JDK) instalado.

Paso 1: Actualizar el Sistema

Primero, asegúrate de que tu sistema esté actualizado. Abre una terminal y ejecuta los siguientes comandos:

sudo dnf update -y

Paso 2: Instalar Java

Apache Cassandra requiere Java para ejecutarse. Instala OpenJDK con el siguiente comando:

sudo dnf install java-11-openjdk-devel -y

Verifica la instalación de Java:

java -version

Deberías ver la versión de Java instalada, asegurándote de que es Java 11.

Paso 3: Añadir el Repositorio de Apache Cassandra

Para instalar Apache Cassandra, necesitas añadir su repositorio oficial. Crea un nuevo archivo de repositorio para Apache Cassandra:

sudo nano /etc/yum.repos.d/cassandra.repo

Añade las siguientes líneas al archivo:

[cassandra]
name=Apache Cassandra
baseurl=https://downloads.apache.org/cassandra/redhat/39x
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://downloads.apache.org/cassandra/KEYS

Guarda y cierra el archivo.

Paso 4: Instalar Apache Cassandra

Actualiza los repositorios locales e instala Apache Cassandra con los siguientes comandos:

sudo dnf update -y
sudo dnf install cassandra -y

Paso 5: Configurar Apache Cassandra

Editar el Archivo de Configuración

El archivo de configuración principal de Cassandra es cassandra.yaml, ubicado en /etc/cassandra/conf/. Abre el archivo con tu editor de texto preferido:

sudo nano /etc/cassandra/conf/cassandra.yaml

Asegúrate de configurar las siguientes opciones básicas:

  • cluster_name: Establece el nombre de tu clúster.
  • seeds: Configura la lista de nodos seed en tu clúster.
  • listen_address: Establece la dirección IP de escucha (por lo general, es la IP de tu servidor).
  • rpc_address: Establece la dirección IP para las conexiones RPC (por lo general, es la IP de tu servidor).

Ejemplo:

cluster_name: 'MiClusterCassandra'
seeds: '192.168.1.100'
listen_address: '192.168.1.100'
rpc_address: '0.0.0.0'
endpoint_snitch: 'SimpleSnitch'

Iniciar y Habilitar Apache Cassandra

Después de configurar el archivo cassandra.yaml, inicia el servicio de Cassandra y habilítalo para que se ejecute automáticamente al iniciar el sistema:

sudo systemctl start cassandra
sudo systemctl enable cassandra

Paso 6: Verificar la Instalación de Cassandra

Para asegurarte de que Apache Cassandra se ha instalado correctamente y está funcionando, utiliza la herramienta nodetool que viene incluida con Cassandra. Ejecuta el siguiente comando para verificar el estado del nodo:

sudo nodetool status

Deberías ver una salida que muestra el estado del nodo Cassandra, indicando que está UN (Up and Normal).

Paso 7: Usar cqlsh para Interactuar con Cassandra

Cassandra incluye cqlsh, una interfaz de línea de comandos para ejecutar comandos CQL (Cassandra Query Language). Para iniciar cqlsh, ejecuta el siguiente comando:

cqlsh

Crear una Base de Datos y una Tabla de Ejemplo

Una vez en cqlsh, puedes crear un nuevo keyspace (base de datos) y una tabla. Aquí tienes un ejemplo:

CREATE KEYSPACE mi_keyspace WITH replication = {'class': 'SimpleStrategy', 'replication_factor': 1};
USE mi_keyspace;
CREATE TABLE usuarios (id UUID PRIMARY KEY, nombre TEXT, email TEXT);

Insertar Datos

Puedes insertar datos en la tabla recién creada:

INSERT INTO usuarios (id, nombre, email) VALUES (uuid(), 'Juan Perez', 'juan.perez@example.com');

Consultar Datos

Para consultar los datos de la tabla:

SELECT * FROM usuarios;

Para mejorar el rendimiento y la gestión de tu infraestructura de bases de datos con Apache Cassandra, considera utilizar los servicios de Shape.host. Ofrecen soluciones de Cloud VPS que proporcionan escalabilidad, alta disponibilidad y un rendimiento superior para tus aplicaciones de bases de datos. Con Shape.host, puedes asegurarte de que tu infraestructura esté siempre disponible y funcionando de manera óptima.