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