¿Tiene que ejecutar nodetool repair
en 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
-pr
cada nodo, ¿eso cubrirá todo el espacio de claves?-pr
en cada nodo, cubrirá todo el espacio de teclas.-pr
bandera.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 repair
en 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 repair
comando 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
-hosts
y-dc
. Además, si usa el-pr
indicador (que solo seleccionará el primer rango de tokens del que es responsable el nodo), deberá ejecutarlonodetool repair -pr
en todos los nodos del clúster.Otra bandera a tener en cuenta es la
-inc
bandera, 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 repair
se 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
-pr
opció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 repair
en un solo nodo no es suficiente para reparar todos los datos replicados en todos los nodos en todas las configuraciones. La ejecuciónnodetool repair
en un solo nodo solo reparará los datos replicados en ese nodo. (Agregar la-pr
opció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 repair
en nodos adicionales.