GNU/Linux >> Tutoriales Linux >  >> AlmaLinux

Cómo instalar Apache Cassandra en AlmaLinux / Rocky Linux 8

Apache Cassandra es un sistema de gestión de bases de datos distribuidas NoSQL de código abierto. Cassandra se puede escalar horizontalmente agregando más nodos a través de los cuales los datos se replican automáticamente. Los nodos se pueden agregar o eliminar sin ningún tiempo de inactividad. Los nodos pueden organizarse lógicamente como un clúster o un anillo y configurarse en varios centros de datos para mejorar la velocidad y la confiabilidad de las aplicaciones de alto rendimiento.

En este tutorial, aprenderemos cómo instalar Apache Cassandra en AlmaLinux y Rocky Linux 8 OS. Los comandos para ambos sistemas operativos serán idénticos a menos que se especifique lo contrario.

Requisitos

  • Un servidor que ejecute AlmaLinux o Rocky Linux con un mínimo de 2 GB de RAM.

  • Un usuario que no sea sudo con privilegios de root.

  • Todo está actualizado.

    $ sudo dnf update
    

Paso 1:instalar Java

Apache Cassandra requiere Java 8 para funcionar. La última versión de Cassandra incluye soporte experimental para Java 11, pero para nuestro tutorial, nos limitaremos a usar Java 8.

$ sudo dnf install java-1.8.0-openjdk java-1.8.0-openjdk-devel

Confirme la instalación de Java.

$ java -version
openjdk version "1.8.0_312"
OpenJDK Runtime Environment (build 1.8.0_312-b07)
OpenJDK 64-Bit Server VM (build 25.312-b07, mixed mode)

Paso 2:instalar Apache Cassandra

El primer paso es agregar el repositorio oficial de Cassandra.

Ejecute el siguiente comando para crear el archivo de repositorio /etc/yum.repos.d/cassandra.repo e ingrese los detalles.

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

Ahora que se creó el archivo de repositorio, instale Cassandra.

$ sudo dnf install cassandra -y

Paso 3:instalar Cqlsh

Usaremos el CQL Shell (cqlsh ) herramienta para interactuar con Cassandra. La herramienta es compatible con Python 2.7 o Python 3.6+. Para nuestro tutorial, usaremos Python 3.8. Instale Python 3.8.

$ sudo dnf install python38

Establezca Python 3.8 como la versión predeterminada de Python.

$ sudo update-alternatives --config python
There are 3 programs which provide 'python'.

  Selection    Command
-----------------------------------------------
*+ 1           /usr/libexec/no-python
   2           /usr/bin/python3
   3           /usr/bin/python3.8

Enter to keep the current selection[+], or type selection number: 3

Se te presentarán múltiples opciones. Elegiremos el número 3 para configurar Python 3.8 como la versión predeterminada en nuestro caso.

Confirme la instalación de Python.

$ python --version
Python 3.8.8

Después de usar las update-alternatives utilidad, no necesita usar python3 comando.

Instalar cqlsh usando el administrador de paquetes pip Python.

$ pip3 install --user cqlsh

Confirme el cqlsh instalar.

$ cqlsh --version
cqlsh 6.0.0

Paso 4:crea un archivo de unidad Systemd para Cassandra

Cree y abra el /etc/systemd/system/cassandra.service para editar.

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

Pegue el siguiente código en él.

[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

Guarde el archivo presionando Ctrl + X e ingresando Y cuando se le solicite.

Vuelva a cargar el demonio de servicio.

$ sudo systemctl daemon-reload

Habilite e inicie el servicio Cassandra.

$ sudo systemctl enable cassandra --now

Consulta el estado del servicio.

$ sudo systemctl status cassandra
? cassandra.service - Apache Cassandra
   Loaded: loaded (/etc/systemd/system/cassandra.service; enabled; vendor preset: disabled)
   Active: active (running) since Thu 2021-12-30 11:07:43 UTC; 12s ago
 Main PID: 4679 (java)
    Tasks: 48 (limit: 23696)
   Memory: 1.3G
   CGroup: /system.slice/cassandra.service
           ??4679 /usr/bin/java -ea -da:net.openhft... -XX:+UseThreadPriorities -XX:+HeapDumpOnOutOfMemoryError -Xss256>

También puede verificar el estado usando la nodetool comando.

$ 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  69.09 KiB  16      100.0%            2fe7ccae-2af9-4841-9bff-bffa29f10dc5  rack1

Paso 5:configurar Cassandra

La ubicación predeterminada de los archivos de configuración para Cassandra es /etc/cassandra . La ubicación predeterminada para los directorios de registro y datos es /var/log/cassandra y /var/lib/cassandra .

La configuración del nivel de JVM, como el tamaño del almacenamiento dinámico, se puede establecer a través de /etc/cassandra/conf/cassandra-env.sh expediente. Puede pasar argumentos de línea de comandos de JVM adicionales a JVM_OPTS variable. Los argumentos se pasan a Cassandra cuando se inicia.

5.1 Habilitar autenticación de usuario

Para habilitar la autenticación de usuario, primero, haga una copia de seguridad de /etc/cassandra/conf/cassandra.yaml archivo.

$ sudo cp /etc/cassandra/conf/cassandra.yaml /etc/cassandra/conf/cassandra.yaml.backup

Abra el cassandra.yaml archivo para editar.

$ sudo nano /etc/cassandra/conf/cassandra.yaml

Localice los siguientes parámetros en este archivo.

authenticator: AllowAllAuthenticator
authorizer: AllowAllAuthorizer
roles_validity_in_ms: 2000
permissions_validity_in_ms: 2000

Cambie los valores de los parámetros como se indica a continuación.

. . .

authenticator: org.apache.cassandra.auth.PasswordAuthenticator
authorizer: org.apache.cassandra.auth.CassandraAuthorizer
roles_validity_in_ms: 0
permissions_validity_in_ms: 0

. . .

Puede configurar otros ajustes según sus requisitos. Si están comentados, elimínelos.

Una vez terminado, guarde el archivo presionando Ctrl + X e ingresando Y cuando se le solicite.

Reinicie Cassandra para habilitar la configuración modificada.

$  sudo systemctl restart cassandra

5.1.1 - Agregar un superusuario administrador

Ahora que hemos habilitado la autenticación, necesitamos crear un usuario. Para hacer eso, usaremos la utilidad de shell Cassandra Command. Inicie sesión con las credenciales del usuario predeterminado cassandra .

$ cqlsh -u cassandra -p cassandra

Crear un nuevo superusuario. Reemplazar [username] y [yourpassword] con sus credenciales.

[email protected]> CREATE ROLE [username] WITH PASSWORD = '[yourpassword]' AND SUPERUSER = true AND LOGIN = true;

Cerrar sesión.

[email protected]> exit

Vuelva a iniciar sesión con la nueva cuenta de superusuario.

$ cqlsh -u username -p yourpassword

Eliminar los permisos elevados de la cassandra predeterminada cuenta.

[email protected]> ALTER ROLE cassandra WITH PASSWORD = 'cassandra' AND SUPERUSER = false AND LOGIN = false;
[email protected]> REVOKE ALL PERMISSIONS ON ALL KEYSPACES FROM cassandra;

Otorgue todos los permisos a la cuenta de superusuario.

[email protected]> GRANT ALL PERMISSIONS ON ALL KEYSPACES TO '[username]';

Cerrar sesión.

[email protected]> exit

5.2 - Editar el archivo de configuración de la consola

Si desea personalizar Cassandra Shell, puede hacerlo editando el cqlshrc expediente. La ubicación predeterminada para el archivo es ~/.cassandra directorio. Si desea cargarlo desde un directorio diferente, puede pasar el argumento --cqlshrc /customdirectory al cqlsh herramienta mientras se ejecuta.

Puede encontrar un archivo de muestra en /etc/cassandra/conf/cqlshrc.sample que contiene todos los ajustes que puede configurar con respecto a Cassandra Shell.

Copie y cambie el nombre del archivo de ejemplo a ~/.cassandra directorio.

$ sudo cp /etc/cassandra/conf/cqlshrc.sample ~/.cassandra/cqlshrc

Actualice el cqlshrc archivo con los permisos requeridos.

$ sudo chmod 600 ~/.cassandra/cqlshrc
$ sudo chown $USER:$USER ~/.cassandra/cqlshrc

Abra el archivo para editarlo.

$ nano ~/.cassandra/cqlshrc

Configuraremos el shell para iniciar sesión automáticamente con las credenciales de superusuario. Busque la siguiente sección y complétela con su nombre de usuario y contraseña.

....

[authentication]
;; If Cassandra has auth enabled, fill out these options
username = [superuser]
password = [password]

....

Edite cualquier otra configuración que desee cambiar. Algunas de las configuraciones se comentan usando ;; . Descoméntelos eliminando los puntos y comas dobles y luego realice el cambio.

Una vez terminado, guarde el archivo presionando Ctrl + X e ingresando Y cuando se le solicite.

Inicie sesión en el shell de Cassandra con sus nuevos cambios.

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

5.3 - Cambiar el nombre del clúster

Finalmente, cambiaremos el nombre del clúster de Test Cluster a su nombre elegido.

Inicie sesión en cqlsh terminal.

$ cqlsh

Reemplace el [clustername] con su nuevo nombre de clúster en el siguiente comando.

[email protected]> UPDATE system.local SET cluster_name = '[new_name]' WHERE KEY = 'local';

Salir del caparazón

[email protected]> exit

Abra el archivo /etc/cassandra/conf/cassandra.yaml para editar.

$ sudo nano /etc/cassandra/conf/cassandra.yaml

Reemplace el valor de la variable cluster_name con el nombre que elijas.

...

# The name of the cluster. This is mainly used to prevent machines in
# one logical cluster from joining another.
cluster_name: '[new_name]'

...

Una vez terminado, guarde el archivo presionando Ctrl + X e ingresando Y cuando se le solicite.

Borra la memoria caché del sistema de Cassandra.

$  nodetool flush system

Reinicia Cassandra.

$  sudo systemctl restart cassandra

Inicie sesión en el shell para ver el nuevo nombre.

$  cqlsh
Connected to HowtoForge Cluster at 127.0.0.1:9042
[cqlsh 6.0.0 | Cassandra 4.0.1 | CQL spec 3.4.5 | Native protocol v5]
Use HELP for help.
[email protected]>

Conclusión

En este tutorial, aprendió a instalar Apache Cassandra en un servidor AlmaLinux o Rocky Linux. También aprendió cómo agregar autenticación de usuario y realizar algunas configuraciones básicas. Para obtener más información, visite la documentación oficial de Cassandra. Si tiene alguna pregunta, publíquela en los comentarios a continuación.


AlmaLinux
  1. Cómo instalar Apache en AlmaLinux

  2. Cómo instalar Apache Cassandra en Debian 10 Linux

  3. Cómo instalar Docker en AlmaLinux / Rocky Linux

  4. Cómo instalar Jenkins en Rocky Linux 8 / AlmaLinux 8

  5. Cómo instalar Samba en Rocky Linux y AlmaLinux

Cómo instalar Git en Almalinux o Rocky Linux 8

Cómo instalar Vivaldi Browser en AlmaLinux | Linux rocoso 8

Cómo instalar el cliente filezilla en Rocky Linux 8 | AlmaLinux

Cómo instalar Apache Tomcat en Rocky Linux 8

Cómo instalar Jenkins en AlmaLinux 8 o Rocky Linux

Cómo instalar Apache Cassandra en AlmaLinux 8