Aprenda los comandos para instalar Apache Cassandra en el servidor Rocky Linux o AlmaLinux 8 utilizando su terminal en este tutorial.
Apache Cassandra es la base de datos orientada a columnas NoSQL más popular y está escrita en Java, a diferencia de MongoDB (C++) y HBase. Debido a sus propiedades arquitectónicas, Cassandra se usa a menudo en proyectos de big data, pero también se puede usar bien para aplicaciones web complejas en cooperación con un servidor/marco de aplicaciones.
Cassandra es un sistema de administración de bases de datos distribuidas que está diseñado para administrar grandes cantidades de datos estructurados y pertenece a la clase de sistemas de bases de datos NoSQL,
Además de ser utilizada como base de datos distribuida en redes sociales, la base de datos también es utilizada, por ejemplo, por el agregador de noticias sociales Reddit y el proveedor de marcadores sociales Digg.
Pasos para instalar Apache Cassandra en Rocky Linux 8 | AlmaLinux 8
Los pasos dados aquí serán los mismos para otras distribuciones de Linux basadas en RedHat como CentOS 8 y Oracle Linux...
1. Ejecutar actualización DNF
Primero ejecutemos el comando de actualización del sistema para asegurarnos de que los paquetes instalados en el sistema estén actualizados y también esto actualizará su caché de repositorio.
sudo dnf update
Habilite también EPEL y PowerTools:
sudo dnf install yum-utils
sudo dnf install epel-release
sudo dnf config-manager --set-enabled powertools
2. Instalar OpenJDK-Java predeterminado
Como Apache Cassandra se ha escrito en Java, lo necesitamos; el kit de desarrollo de Java que también ofrece un entorno de tiempo de ejecución disponible a través del repositorio base predeterminado de Amalinux y Rocky utilizando el administrador de paquetes DNF como OpenJDK.
Las versiones de Java admitidas por Cassandra mientras escribía este artículo eran:Java 8 o Java 11.
Por lo tanto, primero instalemos lo mismo:
sudo dnf install java-11-openjdk
3. Agregar el repositorio de Cassandra Rocky | Almalinux 8
Los paquetes para instalar no están disponibles para instalar utilizando la base predeterminada de repositorio de Rocky Linux o AlmaLinux 8, por lo tanto, debemos agregarlo manualmente. El beneficio de usar un repositorio para instalar Cassandra es que podemos obtener fácilmente actualizaciones futuras para la base de datos ejecutando el comando de actualización del sistema. Puede confirmar la última versión en el sitio web oficial .
sudo dnf install nano -y
Crear un archivo de repositorio:
sudo nano /etc/yum.repos.d/cassandra.repo
Nota :La última versión principal mientras escribía el artículo era 4.0 y el nombre de distribución correspondiente es 40x (con una "x" como sufijo). Para versiones anteriores, use 311x para la serie C* 3.11, 30x para {30_version}, 22x para {22_version} y 21x para {21_version}. Por ejemplo, para agregar el repositorio para la versión 4.0 (40x):
Copie y pegue las siguientes líneas:
[cassandra] name=Apache Cassandra baseurl=https://downloads.apache.org/cassandra/redhat/40x/ gpgcheck=1 repo_gpgcheck=1 gpgkey=https://downloads.apache.org/cassandra/KEYS
Guardar el archivo usando Ctrl+O , pulsa Intro Tecla y luego salir con Ctrl+X .
Ejecute el comando de actualización para actualizar el caché del repositorio.
sudo dnf update -y
4. Instale el último Apache Cassandra en Almalinux | Rocoso 8
Una vez que se agrega el repositorio, podemos instalar fácilmente la última versión de Apache Cassandra en Rocky Linux 8 o AlmaLinux 8 usando el administrador de paquetes DNF.
sudo dnf install cassandra -y
5. Iniciar y habilitar el servicio Cassandra
Bueno, ya hemos completado con éxito la instalación, ahora necesitamos iniciar el servicio de esta base de datos NoSQL, y si desea que se inicie automáticamente con el arranque del sistema o en caso de bloqueo, no olvide habilitar el servicio.
sudo service cassandra start
sudo systemctl enable cassandra
Para verificar que el servicio se haya habilitado correctamente, ejecute:
sudo systemctl is-enabled cassandra.service
Para comprobar el estado actual:
sudo systemctl status cassandra
6. Verifica que Cassandra se esté ejecutando
Para asegurarse de que la base de datos se esté ejecutando y funcione correctamente en 127.0.0.1:7199
, ejecuta el comando dado:
nodetool status
Obtendrá el resultado como se indica en la captura de pantalla.
7. Archivos de configuración clave
El directorio donde se almacenan los datos de Apache Cassandra:/var/lib/cassandra
mientras que los archivos de configuración están en /etc/cassandra
y inicio de Java las opciones se pueden configurar en /etc/default/cassandra
archivo.
De forma predeterminada, la base de datos solo puede escuchar localhost; sin embargo, si desea usar el cliente para conectar a Cassandra de forma remota, debemos configurarlo editando:
sudo nano /etc/cassandra/default.conf/cassandra.yaml
8. Lenguaje de consulta de Cassandra
Use la herramienta de línea de comandos llamada cqlsh
viene junto con el paquete Cassandra para consultarlo usando la terminal. Para usarlo, el sistema debe tener instalado al menos un paquete de python 2.
Si no tiene Python en su sistema, ejecute:
sudo dnf install python2
Para obtener el shell CQL, ejecute:
cqlsh
9. Cambiar el nombre del clúster
Para actualizar el nombre del clúster, cambie a CQL Shell usando el comando anterior y luego ejecute este:
UPDATE system.local SET cluster_name = 'H2s Cluster' WHERE KEY = 'local';
Luego salga del shell:
exit;
Después de eso, edite el archivo de configuración YAML:
sudo nano /etc/cassandra/default.conf/cassandra.yaml
Reemplace el clúster de prueba con el nombre que estableciste para tu Clúster.
Después de eso, vacía el caché y reinicia el servicio Cassandra:
nodetool flush system
sudo systemctl restart cassandra
Para confirmar que se ha actualizado el nombre del clúster:
cqlsh
DESC CLUSTER
Para administrar Cassandra mediante GUI, consulte este proyecto de GitHub
10. Habilitar autenticación de usuario
Realice una copia de seguridad de su archivo de configuración actual para asegurarse de que, en caso de que algo salga mal, podamos restaurar el archivo original.
sudo cp /etc/cassandra/conf/cassandra.yaml /etc/cassandra/conf/cassandra.yaml.backup
Editar archivo yml:
sudo nano /etc/cassandra/conf/cassandra.yaml
Encuentre la siguiente línea en el archivo y cambie sus valores 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
Guarde el archivo que haya terminado de editar usando Ctrl+O , pulsa Intro Tecla y, a continuación, Ctrl+X .
Por ejemplo, vea la captura de pantalla :
Reiniciar el servicio Cassandra:
sudo systemctl restart cassandra
11. Agregue un usuario administrador para su base de datos
Cambia el usuario y la contraseña predeterminados a lo que quieras:
cqlsh -u cassandra -p cassandra
CREATE ROLE myusername WITH PASSWORD = 'mypassword' AND SUPERUSER = true AND LOGIN = true;
Nota :Reemplazar- minombredeusuario y micontraseña con lo que quieras configurar.
Salga del Command Shell de Cassandra:
exit;
Ahora, vuelva a iniciar sesión con su nuevo usuario y contraseña.
Deshabilite los derechos de superusuario o administrador para el usuario predeterminado de Cassandra después de iniciar sesión con el usuario recién creado:
ALTER ROLE cassandra WITH PASSWORD = 'cassandra' AND SUPERUSER = false AND LOGIN = false;
Otorgue todos los permisos para su usuario:
GRANT ALL PERMISSIONS ON ALL KEYSPACES TO 'myusername';
exit;
Una vez que se crea el usuario de Autenticación y Administrador, siempre lo necesita para iniciar sesión y usar Cassandra Command Shell. Sin autenticación de usuario, obtendrá el siguiente resultado:
Error de conexión:('No se puede conectar a ningún servidor', {'127.0.0.1:9042':Autenticación fallida('El extremo remoto requiere autenticación',)})
12. Cómo actualizar Cassandra en AlamLinux o Rocky Linux
Como hemos instalado esta base de datos NoSQL agregando su repositorio, ejecutar el comando de actualización y actualización del sistema también buscará e instalará la última versión actualizada.
sudo dnf update && sudo dnf upgrade
13. Desinstalar o Eliminar
Este es un paso opcional y utilícelo cuando desee eliminar a Cassandra de su sistema.
sudo dnf remove cassandra
Eliminar repositorio
sudo rm /etc/yum.repos.d/cassandra.repo