Tuve el mismo problema y lo resolví con removenode
, que no requiere que encuentre y cambie el token del nodo.
primer lugar, obtener el UUID nodo:
nodetool status
DN 192.168.56.201 ? 256 13.1% 4fa4d101-d8d2-4de6-9ad7-a487e165c4ac r1
DN 192.168.56.202 ? 256 12.6% e11d219a-0b65-461e-babc-6485343568f8 r1
UN 192.168.2.91 156.04 KB 256 12.4% e1a33ed4-d613-47a6-8b3b-325650a2bbd4 RAC1
UN 192.168.2.92 156.22 KB 256 13.6% 3a4a086c-36a6-4d69-8b61-864ff37d03c9 RAC1
UN 192.168.2.93 149.6 KB 256 11.3% 20decc72-8d0a-4c3b-8804-cc8bc98fa9e8 RAC1
Como se puede ver el 0.201 y el 0.202 han muerto y en una red diferente. Estos han sido cambiados a .91 y .92 sin el desmantelamiento apropiado y el nuevo servicio. Yo estaba trabajando en la instalación de la red y cometí algunos errores ...
En segundo lugar, retire el 0.201 con el siguiente comando:
nodetool removenode 4fa4d101-d8d2-4de6-9ad7-a487e165c4ac
(en versiones anteriores era nodetool eliminar ...)
Pero al igual que para el nodetool removetoken ...
, bloquea ... (ver el comentario de samarth en la respuesta de Prandord) Sin embargo, tiene un efecto secundario, pone ese UUID en una lista de nodos que se eliminarán. Entonces, podemos forzar la eliminación con:
nodetool removenode force
(en versiones anteriores era nodetool eliminar ...)
Ahora el nodo acepta el comando que me dice que es la eliminación de la entrada no válida:
RemovalStatus: Extracción de fichas (-9136982325337481102). Esperando confirmación de replicación de [/192.168.2.91,/192.168.2.92].
También vemos que se comunica con los otros dos nodos que están activos y por lo tanto toma un poco de tiempo, pero todavía es bastante rápido.
A continuación, nodetool status
no muestra el nodo .201. Repito con .202 y ahora el estado es limpio.
Después de que usted también puede querer ejecutar una limpieza como se menciona en psanford respuesta:
nodetool cleanup
La limpieza se debe ejecutar en todos los nodos, uno por uno, para asegurarse de que el cambio se tenga plenamente en cuenta .
Gracias Psanford. Pero en mi caso ya comencé el nuevo nodo con el mismo token que tenía el nodo muerto. Ahora el anillo está bien y equilibrado. Pero en describir el clúster, muestra el nodo muerto como inalcanzable. Todavía está bien para la mayoría de los casos, pero cargamos los datos con sstableloader y con el nodo inalcanzable sstableloader no funciona. ¿Cuál podría ser la posible solución para esto? – samarth
Necesita borrar el conocimiento del antiguo nodo del anillo. Puedes hacer eso con 'nodetool removetoken'. Tu problema es que también eliminaría el nodo de reemplazo. Por lo tanto, debe mover el token del nodo de reemplazo a token-1 antes de hacer el 'removetoken'. – psanford
He intentado con la solución que ha sugerido. Hemos movido con éxito el nuevo nodo. Pero durante la eliminación del nodo muerto se queda trabado diciendo: 'RemovalStatus: Removing token (62676456546693435176060154681903071729). Esperando la confirmación de la replicación de [cassandra-1/10.101.101.01 ' – samarth