Cómo instalar Apache Cassandra en CentOS 8


Apache Cassandra es una sólida base de datos NoSQL gratuita y de código abierto que almacena datos en pares clave-valor. Cassandra fue desarrollada inicialmente por Facebook y luego adquirida por la Fundación Apache.

Apache Cassandra está diseñado para proporcionar consistencia, escalabilidad horizontal y alta disponibilidad sin un solo punto de falla. Implementa una replicación estilo Dynamo que proporciona tolerancia a fallas y garantiza un tiempo de actividad del 99,99%. Esto lo hace ideal para su uso en aplicaciones críticas para el negocio que no pueden permitirse ningún tiempo de inactividad.

Algunas de las empresas notables que implementan Apache Cassandra en sus entornos incluyen Netflix, Facebook, Twitter y eBay, por mencionar algunas.

En esta guía, nos enfocamos en la instalación de Apache Cassandra en distribuciones de Linux CentOS 8 y RHEL 8.

Instalación de Java en CentOS 8

Para empezar, vamos a instalar OpenJDK 8 en nuestro sistema que proporcionará Java. Pero primero, verifiquemos si Java está instalado. Para hacerlo, invoque el comando:

$ java -version

Si Java no está presente en su sistema, obtendrá el resultado que se muestra:

bash: java: command not found...

Para instalar OpenJDK 8, ejecute el siguiente comando dnf.

$ sudo dnf install java-1.8.0-openjdk-devel

Esto instalará OpenJDK 8 junto con otras dependencias como se muestra.

Una vez que se realiza la instalación, una vez más verifique que haya instalado OpenJDK como se muestra:

$ java -version

NOTA: Si se instala otra versión de OpenJDK además de OpenJDK 8, puede establecer la versión predeterminada de Java en OpenJDK 8 ejecutando el siguiente comando.

$ sudo alternatives --config java

A continuación, seleccione la opción que corresponda a OpenJDK 8. En la captura de pantalla siguiente, hemos cambiado la versión predeterminada de Java de OpenJDK 11 a OpenJDK 8.

Instalación de Apache Cassandra en CentOS 8

Después de instalar Java, ahora podemos proceder a instalar Apache Cassandra. Cree un nuevo archivo de repositorio para Apache Cassandra como se muestra a continuación:

$ sudo vim /etc/yum.repos.d/cassandra.repo

Luego agregue el repositorio de Cassandra como se muestra.

[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 y salga del archivo del repositorio.

A continuación, instale Apache Cassandra usando el comando:

$ sudo dnf install Cassandra

A partir de entonces, acepte numerosas claves GPG.

Una vez que se complete la instalación. Verifique que Apache Cassandra se haya instalado correctamente ejecutando el comando rpm a continuación:

$ rpm -qi Cassandra

Obtendrá información detallada sobre Apache Cassandra, como la versión, el lanzamiento, la arquitectura, el tamaño, la licencia y una breve descripción, por mencionar algunos.

A partir de entonces, cree un archivo de servicio systemd para Cassandra como se muestra.

$ sudo vim /etc/systemd/system/cassandra.service

Agrega las siguientes líneas:

[Unit]
Description=Apache Cassandra
After=network.target

[Service]
PIDFile=/var/run/cassandra/cassandra.pid
User=cassandra
Group=cassandra
ExecStart=/usr/sbin/cassandra -f -p /var/run/cassandra/cassandra.pid
Restart=always

[Install]
WantedBy=multi-user.target

Guardar y salir del archivo.

A continuación, inicie Cassandra y confirme su estado invocando el comando:

$ sudo systemctl start cassandra
$ sudo systemctl status Cassandra

La salida confirma que Cassandra está en funcionamiento. Además, puede permitir que Cassandra se inicie en el arranque o al reiniciar emitiendo el comando:

$ sudo systemctl enable Cassandra

Para iniciar sesión en Cassandra e interactuar con el lenguaje de consulta de Cassandra, usaremos la herramienta de línea de comandos cqlsh. Pero para que esto funcione, necesitamos tener instalado el intérprete de Python2.

Si intenta iniciar sesión sin Python2 instalado, obtendrá el error que se muestra a continuación:

$ cqlsh

No appropriate python interpreter found.

Por lo tanto, Python2 es esencial y debe instalarse. Para instalarlo, ejecute el comando:

$ sudo dnf install python2

Esto instala Python2 junto con otras dependencias como se muestra.

Intente iniciar sesión y esta vez, el inicio de sesión será exitoso.

$ cqlsh

Configuración de Apache Cassandra en CentOS 8

Para modificar la configuración predeterminada de Cassandra, consulte los archivos de configuración que se encuentran en el directorio/etc/cassandra. Los datos se almacenan en la ruta/var/lib/cassandra. Las opciones de inicio se pueden modificar en el archivo/etc/default/cassandra.

De forma predeterminada, el nombre del clúster de Cassandra es "Clúster de prueba". Puede cambiar esto a su nombre de clúster preferido iniciando sesión y ejecutando el siguiente comando.

UPDATE system.local SET cluster_name = 'Tecmint Cluster' WHERE KEY = 'local';

En este ejemplo, hemos establecido el nombre del clúster en "Tecmint Cluster".

A continuación, diríjase al archivo cassandra.yaml .

$ sudo vim /etc/cassandra/default.conf/cassandra.yaml

Modifique la directiva cluster_name como se muestra a continuación.

Guarde y salga del archivo de configuración y reinicie el servicio Cassandra.

$ sudo systemctl restart Cassandra

Inicie sesión nuevamente para confirmar el nombre del clúster como se muestra.

Esto nos lleva al final de este tutorial. Esperamos que haya logrado instalar Apache Cassandra en las distribuciones de Linux CentOS 8 y RHEL 8.