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 muchas empresas que tienen grandes conjuntos de datos activos, incluidos Reddit, NetFlix, Instagram y Github.
Este artículo explica cómo instalar Apache Cassandra en CentOS 8.
Instalando Apache Cassandra #
La forma más sencilla de instalar Apache Cassandra en CentOS 8 es instalando el paquete rpm desde el repositorio oficial de Apache Cassandra.
La última versión de Apache Cassandra es 3.11
y requiere que OpenJDK 8 esté instalado en el sistema.
Ejecute el siguiente comando como root o usuario con privilegios sudo para instalar OpenJDK:
sudo dnf install java-1.8.0-openjdk-devel
Una vez completada, verifique la instalación imprimiendo la versión de Java:
java -version
La salida debería verse así:
openjdk version "1.8.0_262"
OpenJDK Runtime Environment (build 1.8.0_262-b10)
OpenJDK 64-Bit Server VM (build 25.262-b10, mixed mode)
Ahora que Java está instalado, el siguiente paso es agregar el repositorio de Apache Cassandra.
Abra su editor de texto y cree el siguiente archivo de repositorio:
sudo nano /etc/yum.repos.d/cassandra.repo
Pegue el siguiente contenido en el archivo:
/etc/yum.repos.d/cassandra.repo[cassandra]
name=Apache Cassandra
baseurl=https://www.apache.org/dist/cassandra/redhat/311x/
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://www.apache.org/dist/cassandra/KEYS
Guarde el archivo e instale la última versión de Apache Cassandra escribiendo:
sudo dnf install cassandra
Cuando se le solicite, escriba y
para importar las llaves GPG.
Una vez completada la instalación, inicie y habilite el servicio Cassandra:
sudo systemctl start cassandra
sudo systemctl enable cassandra
Verifique 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 69.99 KiB 256 100.0% ce0389a3-b48c-4cc9-b594-abe23e677d33 rack1
Eso es todo. En este punto, tiene Apache Cassandra instalado en su servidor CentOS.
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 manera predeterminada, Cassandra está configurada para escuchar solo en localhost. Si el cliente que se conecta a la base de datos también se ejecuta en el mismo host, no necesita cambiar el archivo de configuración predeterminado.
Para interactuar con Cassandra a través de CQL (el lenguaje de consulta de Cassandra), puede usar una utilidad de línea de comando llamada cqlsh
que se envía con el paquete Cassandra.
cqlsh
requiere que Python 2 esté en la RUTA del sistema. Si no tiene Python 2 instalado en el servidor, puede hacerlo con los siguientes comandos:
sudo dnf install python2
sudo alternatives --set python /usr/bin/python2
Una vez que Python esté configurado, ejecute cqlsh
para acceder al shell de CQL:
cqlsh
[cqlsh 5.0.1 | Cassandra 3.11.7 | 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 del clúster, siga los pasos a continuación:
-
Inicie sesión en el terminal Cassandra CQL con
cqlsh
:cqlsh
El siguiente comando cambiará el nombre del clúster a "Linuxize Cluster":
UPDATE system.local SET cluster_name = 'Linuxize Cluster' WHERE KEY = 'local';
Reemplace "Linuxize Cluster" con el nombre que desee. Una vez hecho esto, escriba
exit
para salir de la consola. -
Abra el
cassandra.yaml
archivo de configuración, busque "cluster_name" e ingrese su nuevo nombre de clúster:
/etc/cassandra/default.conf/cassandra.yamlsudo nano /etc/cassandra/default.conf/cassandra.yaml
cluster_name: 'Linuxize Cluster'
-
Limpia la caché del sistema:
nodetool flush system
-
Finalmente reinicie el servicio Cassandra:
sudo systemctl restart cassandra