¿Tiene que ejecutar nodetool repairen cada nodo de un clúster, o solo necesita ejecutarlo en un nodo, y desde allí Cassandra se encargará del resto?
maintenance
cassandra
2rs2ts
fuente
fuente

-prcada nodo, ¿eso cubrirá todo el espacio de claves?-pren cada nodo, cubrirá todo el espacio de teclas.-prbandera.Su comportamiento depende de su configuración, qué versión de Cassandra usa y cómo ejecuta el comando de reparación.
Si solo se ejecuta
nodetool repairen un solo nodo en un clúster, reparará todos los datos (rangos de tokens) de los que ese nodo es responsable y también los otros nodos que son responsables de esos datos.Entonces, por ejemplo, si tuviera que ejecutar el
nodetool repaircomando en un solo nodo en un clúster dado:Dicho esto, es posible definir qué hosts y centros de datos realizar reparaciones al usar los indicadores
-hostsy-dc. Además, si usa el-prindicador (que solo seleccionará el primer rango de tokens del que es responsable el nodo), deberá ejecutarlonodetool repair -pren todos los nodos del clúster.Otra bandera a tener en cuenta es la
-incbandera, que se incluyó en Cassandra 2.1. Esta opción solo reparará datos nuevos (datos que no han sido reparados previamente). Tenga cuidado al confiar en esto, especialmente si elimina datos con frecuencia. ( más sobre esto )Otra cosa a tener en cuenta es que la forma predeterminada en que se realizan las reparaciones en Cassandra puede variar. A partir de Cassandra 2.1 cuando se ejecuta solo
nodetool repair, realiza una reparación secuencial completa de forma predeterminada. Querrá consultar qué hace su versión.Para más lectura sobre el tema:
https://www.datastax.com/dev/blog/repair-in-cassandra
fuente
No, no tiene que ejecutar en cada nodo individual.
nodetool repairse ejecuta en un conjunto de nodos, que se indica claramente en la documentación .Puede limitar los nodos o parte de los datos en los que desea ejecutar la reparación. Por ejemplo, puede proporcionar una
-propción para el rango del particionador, rango del cual el nodo es responsable, pero esto tendrá que ejecutarse en todo el clúster. Pero si elige-local, los nodos en el centro de datos local del nodo serán reparados.fuente
nodetool repairen un solo nodo no es suficiente para reparar todos los datos replicados en todos los nodos en todas las configuraciones. La ejecuciónnodetool repairen un solo nodo solo reparará los datos replicados en ese nodo. (Agregar la-propción limita la reparación a los datos para los cuales este nodo es la primera réplica). Pero si tiene datos en su clúster que no se replican en este nodo, debe ejecutarnodetool repairen nodos adicionales.