Apache Cassandra es una base de datos NoSQL gratuita y de código abierto sin un único punto de falla. Proporciona escalabilidad lineal y alta disponibilidad sin comprometer el rendimiento. Apache Cassandra es utilizado por varias empresas que tienen grandes conjuntos de datos activos, incluidos Reddit, NetFlix, Instagram y Github.
En este artículo, explicaremos cómo instalar Apache Cassandra en Debian 10, Buster.
Requisitos previos #
Las instrucciones asumen que ha iniciado sesión como raíz o usuario con privilegios sudo.
Instalando Java #
Al momento de escribir este artículo, la última versión estable de Apache Cassandra es 3.11
y requiere OpenJDK 8, que no está disponible en los repositorios oficiales de Debian Buster.
Habilitaremos el repositorio AdoptOpenJDK e instalaremos el paquete precompilado OpenJDK 8.
Actualice la lista de paquetes e instale las dependencias necesarias para agregar un nuevo repositorio a través de HTTPS:
sudo apt update
sudo apt install apt-transport-https ca-certificates wget dirmngr gnupg software-properties-common
Importe la clave GPG del repositorio y agregue el repositorio AdoptOpenJDK APT a su sistema:
wget -qO - https://adoptopenjdk.jfrog.io/adoptopenjdk/api/gpg/key/public | sudo apt-key add -
sudo add-apt-repository --yes https://adoptopenjdk.jfrog.io/adoptopenjdk/deb/
Instale Java 8 ejecutando los siguientes comandos:
sudo apt update
sudo apt install adoptopenjdk-8-hotspot
Una vez completado, verifíquelo imprimiendo la versión de Java:
java -version
La salida debería verse así:
openjdk version "1.8.0_232"
OpenJDK Runtime Environment (AdoptOpenJDK)(build 1.8.0_232-b09)
OpenJDK 64-Bit Server VM (AdoptOpenJDK)(build 25.232-b09, mixed mode)
Instalando Apache Cassandra #
Instalaremos Apache Cassandra usando el paquete deb del repositorio del proveedor. Para hacerlo, debemos habilitar el repositorio de Apache Cassandra.
Importe la clave pública del repositorio usando el siguiente wget
comando:
wget -q -O - https://www.apache.org/dist/cassandra/KEYS | sudo apt-key add -
El comando anterior debería mostrar OK
. Eso significa que la clave se ha importado con éxito y los paquetes de este repositorio se considerarán confiables.
Agregue el repositorio de Cassandra a la lista de fuentes de su sistema ejecutando el siguiente comando:
sudo sh -c 'echo "deb https://www.apache.org/dist/cassandra/debian 311x main" > /etc/apt/sources.list.d/cassandra.list'
Actualice el índice de paquetes e instale el paquete Apache Cassandra:
sudo apt update
sudo apt install cassandra
Cuando se complete el proceso de instalación, el servicio de Cassandra se iniciará automáticamente. Para verificar que Cassandra se está ejecutando, escriba:
nodetool status
Debería ver algo similar a lo siguiente:
Datacenter: datacenter1
=======================
Status=Up/Down
|/ State=Normal/Leaving/Joining/Moving
-- Address Load Tokens Owns (effective) Host ID Rack
UN 127.0.0.1 103.71 KiB 256 100.0% dd8f6709-08ef-45b8-881e-5c1b5bbfc7f7 rack1
Eso es todo. Apache Cassandra se ha instalado correctamente.
Configurando Apache Cassandra #
Los datos de Apache Cassandra se almacenan en /var/lib/cassandra
directorio. Los archivos de configuración se encuentran en /etc/cassandra
, y las opciones de inicio de Java se pueden configurar en /etc/default/cassandra
archivo.
De forma predeterminada, Cassandra escucha solo en el host local. Si el cliente que se conecta a la base de datos también se ejecuta en la misma máquina, no necesita cambiar la interfaz de enlace.
Para interactuar con Cassandra a través de la línea de comando, use cqlsh
herramienta, que se envía con el paquete de Cassandra.
cqlsh
Connected to Test Cluster at 127.0.0.1:9042.
[cqlsh 5.0.1 | Cassandra 3.11.5 | CQL spec 3.4.4 | Native protocol v4]
Use HELP for help.
cqlsh>
Renombrar Apache Cassandra Cluster #
De forma predeterminada, el clúster de Cassandra se denomina "Clúster de prueba". Si desea cambiarlo, siga los pasos a continuación:
-
Inicie sesión en el terminal Cassandra CQL con
cqlsh
:cqlsh
-
Ejecute el siguiente comando para cambiar el nombre del clúster a "Linuxize Cluster":
UPDATE system.local SET cluster_name = 'Linuxize Cluster' WHERE KEY = 'local';
Cambie "Linuxize Cluster" con el nombre que desee. Una vez hecho esto, escriba
exit
para salir de la terminal. -
Edite el
/etc/cassandra/cassandra.yamlcassandra.yaml
archivo de configuración y ponga su nuevo nombre de clúster:cluster_name: 'Linuxize Cluster'
-
Limpia la caché del sistema:
nodetool flush system
-
Reinicie el servicio Cassandra ejecutando:
sudo systemctl restart cassandra