Apache Cassandra es un sistema de gestión de base de datos NoSQL distribuido gratuito y de código abierto. Se utiliza para almacenar grandes cantidades de datos en clústeres descentralizados de alta disponibilidad. Los datos se distribuyen a través de muchos servidores, lo que brinda alta disponibilidad y ningún punto único de falla. Los servidores de base de datos NoSQL almacenan datos en otros métodos además de los métodos tabulares tradicionales utilizados por los softwares RDBMS como MySQL, PostgreSQL.
En este tutorial, instalaremos Apache Cassandra en el servidor CentOS 7.
Paso 1:instalar JAVA
Antes de instalar cualquier paquete, se recomienda que actualice los paquetes y el repositorio con el siguiente comando.
yum -y update
Una vez que su sistema esté actualizado, instalaremos la última versión de Oracle Java en el servidor. Ejecute el siguiente comando para descargar el paquete RPM.
wget --no-cookies --no-check-certificate --header "Cookie:oraclelicense=accept-securebackup-cookie" "http://download.oracle.com/otn-pub/java/jdk/8u131-b11/d54c1d3a095b4ff2b6607d096fa80163/jdk-8u131-linux-x64.rpm"
Si no tiene instalado wget, puede ejecutar yum -y install wget para instalar wget. Ahora instale el RPM descargado usando el siguiente comando.
yum -y localinstall jdk-8u131-linux-x64.rpm
Ahora puede verificar la versión de Java usando el siguiente comando.
java -version
Obtendrá el siguiente resultado.
[[email protected] ~]# java -version java version "1.8.0_131" Java(TM) SE Runtime Environment (build 1.8.0_131-b11) Java HotSpot(TM) 64-Bit Server VM (build 25.131-b11, mixed mode)
También deberá verificar si la variable de entorno JAVA_HOME está configurada. Ejecute el siguiente comando para lo mismo.
echo $JAVA_HOME
Si obtiene un resultado nulo o en blanco, deberá configurar manualmente la variable JAVA_HOME. Edite el archivo .bash_profile con su editor favorito. En este tutorial, utilizaremos el editor nano. Ejecute el siguiente comando para editar .bash_profile usando nano.
nano ~/.bash_profile
Ahora agregue las siguientes líneas al final del archivo.
export JAVA_HOME=/usr/java/jdk1.8.0_131/ export JRE_HOME=/usr/java/jdk1.8.0_131/jre
Ahora obtenga el archivo usando el siguiente comando.
source ~/.bash_profile
Ahora puede ejecutar el comando echo $JAVA_HOME nuevamente para verificar si la variable de entorno está configurada o no.
[[email protected] ~]# echo $JAVA_HOME /usr/java/jdk1.8.0_131/
Paso 2:Instalación de Cassandra
Ahora agregue el repositorio Apache Cassandra a su lista de repositorios creando un nuevo archivo de repositorio.
nano /etc/yum.repos.d/cassandra.repo
Ahora agregue el siguiente contenido al archivo.
[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
Ahora puede instalar Apache Cassandra ejecutando el siguiente comando.
yum -y install cassandra
Vuelva a cargar los demonios de su sistema ejecutando:
systemctl daemon-reload
Ahora puede iniciar Cassandra escribiendo;
systemctl start cassandra
Para permitir que Cassandra se inicie automáticamente en el momento del arranque, ejecute:
systemctl enable cassandra
Puede verificar que Cassandra se está ejecutando escribiendo el siguiente comando.
nodetool status
Debería ver un resultado similar si Cassandra se está ejecutando.
[[email protected] ~]# 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 136.29 KiB 256 100.0% b3d26649-9e10-4bee-9b3c-8e81c4394b2e rack1
En lugar del resultado que se muestra arriba, si obtiene algo similar al resultado a continuación, deberá configurar el archivo de configuración del entorno de Cassandra.
nodetool: Failed to connect to '127.0.0.1:7199' - ConnectException: 'Connection refused (Connection refused)'.
Abra el archivo de configuración usando el siguiente comando.
nano /etc/cassandra/default.conf/cassandra-env.sh
Ahora busque la siguiente línea en la configuración.
# JVM_OPTS="$JVM_OPTS -Djava.rmi.server.hostname=<public name>"
Descomente la línea y cambie su forma de valor
La configuración debería verse como se muestra a continuación.
JVM_OPTS="$JVM_OPTS -Djava.rmi.server.hostname=127.0.0.1"
Guarde el archivo y salga del editor, reinicie Apache Cassandra ejecutando el siguiente comando.
systemctl restart cassandra
Debería tener el resultado deseado mientras ejecuta el comando nodetool.
Cassandra viene con un poderoso shell de línea de comandos cqlsh para ejecutar consultas en Cluster. Query está escrito en lenguaje CQL o Cassandra Query. Para acceder al shell de CQL, ejecute el siguiente comando.
cqlsh
Verá el siguiente resultado.
[[email protected] ~]# cqlsh Connected to Test Cluster at 127.0.0.1:9042. [cqlsh 5.0.1 | Cassandra 3.11.0 | CQL spec 3.4.4 | Native protocol v4] Use HELP for help.
Conclusión
Apache Cassandra ahora está instalado en su servidor. Puede obtener más información sobre Cassandra visitando el sitio web de Cassandra.