virginia una tipos tipo que instancia ec2 east aws amazon-ec2 cassandra nodetool

amazon-ec2 - una - tipos de instancia en aws



Incapaz de cotillear con ninguna semilla pero continuando ya que el nodo está en su propia lista de semillas (2)

Esto es para referencia futura. Mi problema se resolvió simplemente abriendo 7000 puertos para el mismo grupo de seguridad en AWS. Aunque estaba abierto pero el grupo de seguridad era algo diferente. Cuando corrí:

ec2-user@ip-Node1 ~]$ telnet Node2 7000 Trying Node2... telnet: connect to address Node2: Connection timed out

Llegué a saber que el problema podría ser del grupo de seguridad. Y así es como se ha resuelto.

Sobre las semillas estoy usando IP de ambos nodos, así:

-seeds: "node1,node2"

Es lo mismo en ambos nodos.

Para eliminar un nodo del clúster de 2 nodos en AWS, ejecuté

nodetool removenode <Host ID>

Después de esto, se suponía que debía recuperar mi clúster si colocaba todos los cassandra.yaml y cassandra-rackdc.properties correctamente. Lo hice, pero aún así, no puedo recuperar mi clúster.

nodetool status nodo de nodetool status muestra solo un nodo.

significativo system.log en cassandra es:

INFO [main] 2017-08-14 13:03:46,409 StorageService.java:553 - Cassandra version: 3.9 INFO [main] 2017-08-14 13:03:46,409 StorageService.java:554 - Thrift API version: 20.1.0 INFO [main] 2017-08-14 13:03:46,409 StorageService.java:555 - CQL supported versions: 3.4.2 (default: 3.4.2) INFO [main] 2017-08-14 13:03:46,445 IndexSummaryManager.java:85 - Initializing index summary manager with a memory pool size of 198 MB and a resize interval of 60 minutes INFO [main] 2017-08-14 13:03:46,459 MessagingService.java:570 - Starting Messaging Service on /172.15.81.249:7000 (eth0) INFO [ScheduledTasks:1] 2017-08-14 13:03:48,424 TokenMetadata.java:448 - Updating topology for all endpoints that have changed WARN [main] 2017-08-14 13:04:17,497 Gossiper.java:1388 - Unable to gossip with any seeds but continuing since node is in its own seed list INFO [main] 2017-08-14 13:04:17,499 StorageService.java:687 - Loading persisted ring state INFO [main] 2017-08-14 13:04:17,500 StorageService.java:796 - Starting up server gossip

Contenido de archivos:

cassandra.yaml : https://pastebin.com/A3BVUUUr

cassandra-rackdc.properties : https://pastebin.com/xmmvwksZ

system.log : https://pastebin.com/2KA60Sve

netstat -atun https://pastebin.com/Dsd17i0G

Ambos nodos tienen el mismo registro de errores.

Todos los puertos requeridos están abiertos.

Cualquier sugerencia ?


Por lo general, es una buena práctica tener un nodo semilla por CD si solo tiene dos nodos disponibles en su centro de datos. No debería hacer que cada nodo sea un nodo inicial en este caso.

Noté que node1 tiene - seeds: "node1,node2" y node2 tiene - seeds: "node2,node1" en tu configuración. Un nodo se iniciará por defecto sin contactar a ninguna otra semilla si puede encontrar su dirección IP como primer elemento en la sección - seeds: ... en el archivo de configuración cassandra.yml . Eso es lo que también puedes encontrar en tus registros:

... Unable to gossip with any seeds but continuing since node is in its own seed list ...

Sospecho que en su caso, node1 y node2 están comenzando sin contactarse, ya que se identifican como nodos de semilla.

Intenta usar solo el nodo 1 para el nodo semilla en la configuración de ambas instancias y reinicia tu clúster. En caso de que node1 esté inactivo y node2 esté activo, debe cambiar - seeds: ... sección en la configuración del nodo1 para apuntar solo a la dirección IP del nodo2 y simplemente iniciar el nodo1.

Si sus nodos no pueden encontrarse entre sí debido a una mala configuración del cortafuegos, generalmente es un buen método para verificar si se puede acceder a un puerto específico desde otra ubicación. Por ejemplo, puede usar nc para verificar si un determinado puerto está abierto:

nc -vz node1 7000

Referencias y enlaces

Consulte la lista de puertos que usa Cassandra en el siguiente enlace http://docs.datastax.com/es/cassandra/3.0/cassandra/configuration/secureFireWall.html

Consulte también una documentación detallada sobre cómo ejecutar múltiples nodos con muchos comandos de muestra: http://docs.datastax.com/es/cassandra/2.1/cassandra/initialize/initializeMultipleDS.html