Apache Cassandra es una base de datos NoSQL de código abierto sin punto único de falla, que brinda escalabilidad lineal y alta disponibilidad sin comprometer el rendimiento. En Cassandra, los registros están estructurados de manera similar a la base de datos relacional con tablas, filas y columnas. Varias organizaciones, incluidas Apple, NetFlix, eBay y Easou, utilizan Apache Cassandra.
Este tutorial describe cómo instalar Apache Cassandra en CentOS 7.
Requisitos previos #
El usuario con el que inició sesión debe tener privilegios sudo para poder instalar paquetes.
Instalando Apache Cassandra #
La forma recomendada de instalar Apache Cassandra en CentOS 7 es instalando el paquete rpm 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 el sistema.
Para instalar OpenJDK, en su sistema escriba:
sudo yum install java-1.8.0-openjdk-devel
Verifique la instalación de Java ejecutando el siguiente comando que imprimirá la versión de Java:
java -version
La salida debería verse así:
openjdk version "1.8.0_201"
OpenJDK Runtime Environment (build 1.8.0_201-b09)
OpenJDK 64-Bit Server VM (build 25.201-b09, mixed mode)
Ahora que Java está instalado, el siguiente paso es agregar el repositorio de Apache Cassandra.
Abra el editor de su elección 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
Una vez que el repositorio esté habilitado, instale la última versión de Apache Cassandra escribiendo:
sudo yum install cassandra
Inicie y habilite el servicio Cassandra:
sudo systemctl enable cassandra
sudo systemctl start 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 103.68 KiB 256 100.0% 129a9437-377d-415b-b6b2-5dc46b73a763 rack1
En este punto, Apache Cassandra se ha 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
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". Siga los pasos a continuación si desea cambiar el nombre del clúster:
-
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. -
Edite el
/etc/cassandra/default.conf/cassandra.yamlcassandra.yaml
archivo de configuración e ingrese 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:
sudo systemctl restart cassandra