Luego de horas y horas de invocación a los espíritus y trance… pudimos crear un data center con 2 nodos.
Si alguien pasó por lo mismo y tuvo una mejor experiencia o encontró cómo hacerlo más rápido y sin dolor, sería muy feliz si lo compartieran.
Continuando con los posts de Apache Cassandra, aca pueden ver como se instala en máquinas con sistema operativo Windows.
Antes de comenzar…
Para simular el data center, creamos dos máquinas virtuales para trabajar sobre ellas.
Variables de entorno
Antes de agregar nodos, es importante agregar/editar las siguientes variables de entorno.
- CASSANDRA_HOME
- JAVA_HOME
- Agregar Python en la variable de entorno Path.
Agregando Nodos al data center
Para este proyecto se creó un datacenter, “datacenter1” (que imaginación), un cluster “Test Cluster” y dos nodos. Para el primer nodo ó máquina A se tiene el ip 192.168.1.105. Para el segundo nodo ó máquina B se tiene el ip 192.168.1.101, pero puede utilizarse cualquier par de IP siempre y cuando estén en una red y puedan comunicarse entre ellas (cuando creaste tus máquinas virtuales, ahí les asignaste sus IP, asegurate que esten en la misma red).
Diferencia entre:
Data center: Es una colección relacionada de nodos. Puede ser virtual o físico.
Cluster: un cluster contiene uno o mas data centers. Puede estar distribuido físicamente en diferentes ubicaciones.
Nodo: aquí se guardan los datos. Es la estructura base dentro de la arquitectura de Cassandra.
Para configurar el data center con múltiples nodos solo es necesario realizar algunas modificaciones en el archivo Cassandra.yaml que se encuentra bajo el directorio de la instalación de Cassandra\conf\Cassandra.yaml, para este caso específico se encontró en:
C:\Program Files\apache-cassandra\conf\Cassandra.yaml.
Se necesita que una de las máquinas funcione como proveedor para servir como punto de contacto con todos los nodos que se unan al data center. Para este ejemplo se designó a la máquina A, con IP 192.168.1.105, como proveedor o seed.
Configuración de la máquina A. En el archivo Cassandra.yaml hay que modificar la siguiente información.
La propiedad auto_bootstrap fue removida del archivo cassandra.yaml en esta versión de Cassandra, por lo que se tuvo que agregar manualmente.
Configuración de la máquina B. En el archivo Cassandra.yaml asegurarse de que el nombre del cluster sea el mismo que el de la máquina A, al igual que la IP de la máquina que funcionará como seed. Modificar la siguiente información.
Como siguiente paso, hay que apagar los servicios tanto en máquina A como en máquina B, para esto se va a panel de control->Herramientas administrativas->Servicios. En esta ventana hay que detener el servicio y en el Tipo de Inicio del Servicio es recomendable ponerlo de tipo manual.
De haber datos ya cargados, será necesario borrarlos. Para este ejemplo, los siguientes directorios ubicados en DataStax Community\data\data fueron borrados.
También hay que borrar los archivos ubicados dentro de los directorios commitlog y saved_caches. Nota: no borrar los directorios.
Para iniciar el servicio hay que hacerlo directamente dando doble clic en el archivo cassandra.bat ubicado en el directorio DataStax Community\apache-cassandra\bin en cada máquina virtual.
Posteriormente, con una ventana de command promt dirigirse al directorio /bin de Cassandra y escribir el siguiente comando para comprobar que se tienen los dos nodos en el data center:
nodetool status
También se puede comprobar con el comando: nodetool – host 192.168.105 –p 7199 ring
OpsCenter
OpsCenter es una herramienta visual que permite manejar el cluster, así como sus nodos y datos. Es gratis y viene en el paquete de instalación de DataStax Community Edition.
En OpsCenter se puede visualizar el resultado del cluster con dos nodos.
Y ya tenemos nuestro data center virtual con 2 noditos.
Piece of cake. Aja.
En el siguente post les comento como trabajar con estos nodos creando una base de datos e insertando datos.
Es bueno tener a mano un datacenter cuando se tiene un emprendimiento que ha crecido. También es conveniente saber algunas cosas sobre el Hosting de Empresas para saber cuando nos es más eficiente
ResponderEliminar