Instalar Apache Cassandra en CentOS 7

Actualizado el sábado, 11 enero, 2020

Instalar Apache Cassandra en CentOS 7

Apache Cassandra es un sistema de gestión de bases de datos distribuido, NoSQL, libre y de código abierto. Su principal uso es almacenar datos de gran tamaño en grupos descentralizados y con una alta disponibilidad. Los datos se distribuyen a través de un conjunto de servidores por lo tanto de ahí su alta disponibilidad y sus casi cero fallos.

Vemos como  instalar Apache Cassandra en un servidor CentOS 7 o derivados (es necesario el uso de Oracle Java, por tanto lo primero que realizaremos es instalarlo).

 

Instalamos Java:

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"

yum -y localinstall jdk-8u131-linux-x64.rpm

Comprobamos que se instalo correctamente.
java -version

El resultado…
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)

Comprobamos si se estableció correctamente la variable del entorno JAVA_HOME.
echo $JAVA_HOME

Si la salida de java_home es null o en blanco, debemos editar en archivo .bash_profile.
nano ~/.bash_profile

y agregamos los export al final del archivo.
export JAVA_HOME=/usr/java/jdk1.8.0_131/
export JRE_HOME=/usr/java/jdk1.8.0_131/jre

guardas y cierras nano.

Ahora ejecuta…

source ~/.bash_profile

y con esto el problema quedo resuelto, puedes ejecutar de nuevo el echo y veras que ahora si que funciona.
echo $JAVA_HOME

/usr/java/jdk1.8.0_131/

ya podemos instalar apache cassandra.

 

Instalar Apache Cassandra:

Agregamos el repositorio.

nano /etc/yum.repos.d/cassandra.repo

Copia y pega.
[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

Guarda el repo e instalamos cassandra.
yum -y install cassandra

systemctl daemon-reload

systemctl start cassandra

systemctl enable cassandra

Comprobamos que todo funciona correctamente:
nodetool status

Ejemplo de salida:
Datacenter: datacenter8
=======================
Status=Up/Down
|/ State=Normal/Leaving/Joining/Moving
--  Address    Load       Tokens       Owns (effective)  Host ID                               Rack
UN  127.0.0.1  148.29 KiB  256          100.0%            a3njuif49-1l70-414e-3efc-de45gth7892e  rack4

Si no es tu caso y nodetool status rechaza la conexión…
ConnectException: 'Connection refused (Connection refused)'

Sigue los siguientes pasos:
nano /etc/cassandra/default.conf/cassandra-env.sh

busca la siguiente linea…
JVM_OPTS="$JVM_OPTS -Djava.adminserver.server.hostname=<public name>"

y modifica <public name> por la ip localhost 127.0.0.1.
JVM_OPTS="$JVM_OPTS -Djava.adminserver.server.hostname=127.0.0.1"

guarda y reinicia cassandra:
systemctl restart cassandra

Apache cassandra ya esta instalado y corriendo en nuestro server.

 

Agregar comentario