GNU/Linux >> Tutoriales Linux >  >> Cent OS

Instalar y configurar Apache Cassandra 4.0 en Centos 8

Apache Cassandra es un sistema de administración de base de datos NoSQL gratuito y de código abierto diseñado para manejar grandes cantidades de datos en muchos servidores básicos, lo que brinda alta disponibilidad sin un punto único de falla. Apache Cassandra fue desarrollado inicialmente por Facebook y luego adquirido por Apache Foundation.

Apache Cassandra es adecuado para cantidades masivas y de crecimiento exponencial de datos en constante transformación.

Cassandra en comparación con RDBMS

Cassandra tiene estrechas analogías con los conceptos de las bases de datos relacionales:

  • Keyspace – Similar a una base de datos/esquema en un RDBMS
  • Table – Similar a la tabla en RDBMS
  • Row – Similar a Fila en RDBMS
  • Column – Similar a Columna en RDBMS
  • Primary key – Similar a la clave principal en RDBMS

Requisitos previos

Para seguir esta guía, necesita:

  • Servidor Centos 8
  • Acceso raíz al servidor o usuario con acceso sudo
  • Acceso a Internet para descargar los paquetes

Los siguientes son los pasos que seguiremos para instalar Cassandra

  1. Asegúrese de que nuestro sistema esté actualizado
  2. Instalar Java en el sistema
  3. Instalar Apache Cassandra en el sistema
  4. Instalar y configurar Apache Cassandra Client (cqlsh)
  5. Configurar Apache Cassandra

Paso 1 Asegúrese de que nuestro sistema esté actualizado

Asegurémonos de que los paquetes de Centos 8 instalados en el servidor estén actualizados. Puede hacerlo ejecutando los siguientes comandos:

sudo dnf -y update

Paso 2 Instalar Java en el sistema

Apache Cassandra requiere que tenga java 8 en su sistema para que funcione. Confirme que Java está instalado escribiendo este comando:

java -version

Si ve este resultado:

# java -version
-bash: java: command not found

Entonces significa que Java no está instalado. Instalémoslo con este comando:

sudo dnf install -y java-1.8.0-openjdk

Una vez que se complete la instalación, confírmelo con esto:

# java -version
openjdk version "1.8.0_302"
OpenJDK Runtime Environment (build 1.8.0_302-b08)
OpenJDK 64-Bit Server VM (build 25.302-b08, mixed mode)

Ahora que Java 8 está instalado en nuestro sistema, instalemos Cassandra.

Paso 3. Instalar Apache Cassandra en el sistema

Apache Cassandra no está disponible en los repositorios predeterminados de Centos 8. Vamos a crear un repositorio que apunte a Cassandra Repos:

Crea este /etc/yum.repos.d/cassandra.repo archivo con el contenido requerido usando este comando:

cat > /etc/yum.repos.d/cassandra.repo <<EOF
[cassandra]
name=Apache Cassandra
baseurl=https://downloads.apache.org/cassandra/redhat/40x/
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://downloads.apache.org/cassandra/KEYS
EOF

Ahora que hemos agregado el repositorio, instalemos Cassandra:

sudo dnf install -y cassandra

Confirme que Cassandra se ha instalado con este comando:

# rpm -qi cassandra
Name        : cassandra
Version     : 4.0.0
Release     : 1
Architecture: noarch
Install Date: Tue 31 Aug 2021 08:59:00 AM UTC
Group       : Development/Libraries
Size        : 54941890
License     : Apache Software License 2.0
Signature   : RSA/SHA512, Thu 22 Jul 2021 10:22:35 PM UTC, Key ID 5e85b9ae0b84c041
Source RPM  : cassandra-4.0.0-1.src.rpm
Build Date  : Thu 22 Jul 2021 10:22:10 PM UTC
Build Host  : 0b542adba94d
Relocations : (not relocatable)
URL         : http://cassandra.apache.org/
Summary     : Cassandra is a highly scalable, eventually consistent, distributed, structured key-value store.
Description :
Cassandra is a distributed (peer-to-peer) system for the management and storage of structured data.

Una vez que se instala ese comando, el binario cassandra se creará en /usr/sbin/cassandra . Dado que Centos 8 administra los servicios usando systemd, creemos un archivo systemd en /etc/systemd/system/cassandra.service con el contenido necesario para gestionar el servicio cassandra

sudo cat > /etc/systemd/system/cassandra.service <<EOF
[Unit]
Description=Apache Cassandra 4.0
After=network.target

[Service]
Type=simple
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
EOF

Una vez que se crea el archivo, puede usar systemd para administrar el servicio:

Ejecute este comando para asegurarse de que nuestro nuevo servicio systemd esté registrado:

sudo systemctl daemon-reload 

Para iniciar el servicio:

sudo systemctl start cassandra

Confirme que el servicio se está ejecutando. Asegúrese de ver que está Active: active (running) en el siguiente comando de estado:

# sudo systemctl status cassandra
● cassandra.service - Apache Cassandra
   Loaded: loaded (/etc/systemd/system/cassandra.service; disabled; vendor preset: disabled)
   Active: active (running) since Tue 2021-08-31 15:50:07 UTC; 8s ago
 Main PID: 100752 (java)
    Tasks: 54 (limit: 23800)
   Memory: 1.1G
   CGroup: /system.slice/cassandra.service
           └─100752 java -ea -da:net.openhft... -XX:+UseThreadPriorities -XX:+HeapDumpOnOutOfMemoryError -Xss256k -XX:+AlwaysPreTouch -XX:-UseBiasedLocking -XX:+UseTLAB -XX:+ResizeTLAB -XX:+UseNUMA -XX:+PerfD>

Aug 31 15:50:13 ipa-server.citizix.light cassandra[100752]: INFO  [main] 2021-08-31 15:50:13,284 NativeTransportService.java:68 - Netty using native Epoll event loop
Aug 31 15:50:13 ipa-server.citizix.light cassandra[100752]: INFO  [CompactionExecutor:1] 2021-08-31 15:50:13,326 CompactionTask.java:150 - Compacting (20ffe200-0a73-11ec-a273-f980f7c7aa0a) [/var/lib/cassandra>
Aug 31 15:50:13 ipa-server.citizix.light cassandra[100752]: INFO  [main] 2021-08-31 15:50:13,329 PipelineConfigurator.java:124 - Using Netty Version: [netty-buffer=netty-buffer-4.1.58.Final.10b03e6, netty-cod>
Aug 31 15:50:13 ipa-server.citizix.light cassandra[100752]: INFO  [main] 2021-08-31 15:50:13,329 PipelineConfigurator.java:125 - Starting listening for CQL clients on localhost/127.0.0.1:9042 (unencrypted)...
Aug 31 15:50:13 ipa-server.citizix.light cassandra[100752]: INFO  [main] 2021-08-31 15:50:13,334 CassandraDaemon.java:780 - Startup complete

Habilite el servicio Cassandra para que siempre se ejecute en el arranque:

sudo systemctl enable cassandra

Utilice el estado nodetool status Comando para confirmar el estado del estado actual del nodo:

# nodetool status
Datacenter: datacenter1
=======================
Status=Up/Down
|/ State=Normal/Leaving/Joining/Moving
--  Address    Load        Tokens  Owns (effective)  Host ID                               Rack
UN  127.0.0.1  166.07 KiB  16      100.0%            2b8341f0-2638-46bb-a0e0-e20b86f96d0a  rack1

Ahora que el servicio está funcionando, instalemos el cliente:

Paso 4. Instalar y configurar Apache Cassandra Client (cqlsh)

Ahora que el servicio Apache Cassandra ha sido instalado y configurado, necesitamos conectarnos a él.

La herramienta cliente utilizada para acceder a Cassandra (cqlsh ) es un cliente de Python. Entonces, antes de instalarlo, debemos configurar el entorno para python:

Instale python3 y python pip

sudo dnf install -y python39 python39-pip

Confirme la instalación y Python y pip:

# python3 -V
Python 3.9.2

# pip3 -V
pip 20.2.4 from /usr/lib/python3.9/site-packages/pip (python 3.9)

Usando pip, instale cqlsh:

sudo pip3 install cqlsh

Ahora podemos usar cqlsh para conectarnos a cassandra. Dado que Cassandra se instala localmente, no tenemos que especificar ningún host:

# cqlsh
Connected to Test Cluster at 127.0.0.1:9042
[cqlsh 6.0.0 | Cassandra 4.0.0 | CQL spec 3.4.5 | Native protocol v5]
Use HELP for help.
cqlsh>

Ahora que el cliente está configurado, configuremos Cassandra

Paso 4. Configurar Apache Cassandra

Configuremos Apache Cassandra. El archivo de configuración principal se encuentra aquí /etc/cassandra/default.conf/cassandra.yaml

Configuraciones notables para cambiar:

  • cluster_name – el nombre de su clúster
  • seeds contiene la lista de direcciones IP de la semilla de su clúster, separadas por comas
  • listen_address contiene la dirección IP de su nodo, esto es lo que permite que otros nodos se comuniquen con este nodo

Además de eso, también puede agregar la variable env JVM_OPTS agregando cualquier argumento de línea de comando JVM adicional. Esto se pasará al servicio de Cassandra cuando se inicie.

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 usando cqlsh y ejecutando el siguiente comando.

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

Después de eso, actualice el archivo de configuración /etc/cassandra/default.conf/cassandra.yaml con el nuevo nombre:

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

Luego actualice esta línea:

cluster_name: 'Citizix Cluster'

Guardar y salir.

Vamos a borrar el caché del sistema usando esto:

nodetool flush system

Luego reinicie el servicio de Cassandra

sudo systemctl restart cassandra

Vuelva a iniciar sesión para confirmar el nombre del clúster como se muestra.

Conclusión

Logramos instalar y configurar Cassanda en la guía anterior. Tenga en cuenta lo siguiente:

  • Cassandra almacena su registro en este directorio /var/log/cassandra/ con el archivo de registro principal ubicado en /var/log/cassandra/system.log
  • Dado que creamos un servicio systemd, también puede verificar stdout y stderr registros usando este comando:
    sudo journalctl -fu cassandra
  • Este /var/lib/cassandra se establece como el directorio de datos predeterminado. Puede actualizar eso en el archivo de configuración
  • Los archivos de configuración de Cassandra se almacenan en este directorio /etc/cassandra/ incluido el archivo de configuración predeterminado /etc/cassandra/default.conf/cassandra.yaml
  • Para administrar el servicio cassandra que creamos:
    # Start the service
    sudo systemctl start cassandra
    # Check the service status
    sudo systemctl status cassandra
    # Stop the service
    sudo systemctl stop cassandra
    # Enable the service
    sudo systemctl enable cassandra
    # Restart the service
    sudo systemctl restart cassandra

Consulte también la página de documentación de Cassandra aquí para obtener más información.


Cent OS
  1. Cómo instalar y configurar Nginx en CentOS 7

  2. Cómo instalar Apache Cassandra en CentOS 8

  3. Cómo instalar y configurar Redis en CentOS 7

  4. Cómo instalar Apache Cassandra en CentOS 7

  5. Instalar Apache y PHP en CentOS 7

Cómo instalar y configurar GitLab CE en CentOS 8

Cómo instalar y configurar Nagios 4.0.7 en CentOS 7

Cómo instalar y configurar ISPConfig CP en CentOS 7

Cómo instalar Apache Cassandra en CentOS

Instalar Apache Cassandra en CentOS 8

Cómo instalar Apache Cassandra en CentOS 6