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.
Este tutorial lo guía a través del proceso de instalación de Apache Cassandra en Debian 9.
Requisitos previos #
Para poder instalar paquetes en su sistema Debian, debe iniciar sesión como usuario con privilegios de sudo.
Instalando Apache Cassandra #
El método recomendado para instalar Apache Cassandra en Debian 9 es instalar el paquete deb desde el repositorio oficial de Apache Cassandra.
Al momento de escribir este artículo, la última versión de Apache Cassandra es 3.11
y requiere que OpenJDK 8 esté instalado en la máquina.
Para instalar el paquete OpenJDK 8, ejecute el siguiente comando:
sudo apt update
sudo apt install openjdk-8-jdk
Una vez completado, verifíquelo imprimiendo la versión de Java:
java -version
La salida debería verse así:
openjdk version "1.8.0_181"
OpenJDK Runtime Environment (build 1.8.0_181-8u181-b13-2~deb9u1-b13)
OpenJDK 64-Bit Server VM (build 25.181-b13, mixed mode)
Instale el apt-transport-https
paquete necesario para acceder a un repositorio a través de HTTPS:
sudo apt install apt-transport-https
El siguiente paso es 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
lo que significa que la clave se ha importado correctamente y los paquetes de este repositorio se considerarán de confianza.
Agregue el repositorio de Cassandra a la lista de fuentes de su sistema ejecutando el siguiente comando:
sudo sh -c 'echo "deb http://www.apache.org/dist/cassandra/debian 311x main" > /etc/apt/sources.list.d/cassandra.list'
Actualice el índice de paquetes e instale la última versión de 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. Puede verificar que Cassandra se está ejecutando escribiendo:
nodetool status
Deberías ver algo similar a esto:
Datacenter: datacenter1
=======================
Status=Up/Down
|/ State=Normal/Leaving/Joining/Moving
-- Address Load Tokens Owns (effective) Host ID Rack
UN 127.0.0.1 114.55 KiB 256 100.0% d8c27e24-ea26-4eeb-883c-5986218ba3ca rack1
Eso es todo. Apache Cassandra ha sido instalado en su servidor Debian.
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 solo escucha en localhost. 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 Cassandra.
cqlsh
Connected to Test Cluster at 127.0.0.1:9042.
[cqlsh 5.0.1 | Cassandra 3.11.4 | 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 cambiar el nombre, siga los pasos a continuación:
-
Primero, inicie sesión en el terminal Cassandra CQL escribiendo:
cqlsh
y 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. -
A continuación, edite el
/etc/cassandra/cassandra.yamlcassandra.yaml
archivo de configuración y coloque su nuevo nombre de clúster.cluster_name: 'Linuxize Cluster'
-
Ejecute el siguiente comando para borrar el caché del sistema:
nodetool flush system
-
Finalmente, reinicie el servicio Cassandra ejecutando:
sudo systemctl restart cassandra