viernes, 22 de junio de 2018

Instalando un cluster de Cassandra


Ahora vamos a instalar varios nodos de Cassandra, 3 para ser exactos.

Ingredientes:

  • Muchos servidores (en este caso 3)
  • apache-cassandra-3.11.x 


Antes de empezar vamos a tener que instalar Cassandra en cada uno de los nodos como lo indicamos aquí. Y luego los nodos se pueden ver (debemos bajar firewall) o cualquier cosa que puede interferir en la comunicación.

Bajamos los nodos de Cassandra (en el caso que lo hayamos levantado). Ojo si subimos los nodos vamos a tener que borrar el contenido de las carpetas:

/data/data/system
/data/commitlog

Ahora debemos editar el archivo Cassandra.yaml que esta en conf :

cluster_name: El nombre del cluste (y si!)
seeds: acá le metemos los nombres o las ips de los servidores separados por coma.
listen_address: es la ip con que nuestro servidor se hace conocido, por defecto esta localhost, pero tenemos que poner la ip del servidor.
rpc_address: similar a listen_address, va la ip del servidor. Esta es la dirección IP para llamadas de procedimiento remoto.
endpoint_snitch: es el modo en que casandra se entera de los nuevos servidores o servidores caidos. Le debemos poner : GossipingPropertyFileSnitch
auto_bootstrap: Esta directiva no está en el archivo de configuración, por lo que debe agregarse y establecerse en falso. Esto hace que los nuevos nodos utilicen automáticamente los datos correctos. Es opcional si agrega nodos a un cluster existente, pero es necesario cuando está inicializando un cluster nuevo, es decir, uno sin datos.

Y listo!

Vamos levantando los nodos. Para probar el cluster utilizamos la herramienta nodetool de esta manera :

$ nodetool status
Datacenter: dc1
===============
Status=Up/Down
|/ State=Normal/Leaving/Joining/Moving
--  Address        Load       Tokens       Owns (effective)  Host ID                               Rack
UN  192.168.0.105  190.31 KiB  256          64,9%             667fc687-3ef7-4470-af47-c72e328f33c8  rack1
UN  192.168.0.108  133.77 KiB  256          65,0%             72d61827-9b4b-415c-9fdc-43426452f087  rack1
UN  192.168.0.102  165.93 KiB  256          70,1%             f4d7357c-2bf5-4bd1-bae9-c63ab0a02c3f  rack1

Y si esto funciona, ya tenemos nuestro cluster.