Você precisa executar nodetool repair
em todos os nós de um cluster ou precisa executá-lo apenas em um nó e, a partir daí, Cassandra cuidará do resto?
maintenance
cassandra
2rs2ts
fonte
fonte
-pr
em todos os nós, isso cobrirá todo o espaço de chave?-pr
em todos os nós, ele cobrirá todo o (s) espaço (s) de chaves.-pr
sinalizador.Como ele se comporta depende da sua configuração, qual versão do Cassandra você usa e como você executa o comando de reparo.
Se você apenas executar
nodetool repair
em um único nó em um cluster, ele reparará todos os dados (intervalos de token) pelos quais o nó é responsável e também os outros nós responsáveis por esses dados.Por exemplo, se você executasse o
nodetool repair
comando em um único nó em um determinado cluster:Dito isso, é possível definir quais hosts e datacenters executar reparos no uso dos sinalizadores
-hosts
e-dc
. Além disso, se você usar o-pr
sinalizador (que selecionará apenas o primeiro intervalo de tokens pelo qual o nó é responsável), será necessário executarnodetool repair -pr
em todos os nós no cluster.Outra bandeira a ter em mente é a
-inc
bandeira, que foi incluída no Cassandra 2.1. Esta opção irá reparar apenas novos dados (dados que não foram reparados anteriormente). Tenha cuidado ao confiar nisso, especialmente se você excluir dados com freqüência. ( mais sobre isso )Outra coisa a ter em mente é que a maneira padrão de reparo no Cassandra pode variar. A partir do Cassandra 2.1, quando executado,
nodetool repair
ele executa um reparo seqüencial completo por padrão. Você deseja pesquisar o que sua versão faz.Para mais informações sobre o tópico:
https://www.datastax.com/dev/blog/repair-in-cassandra
fonte
Não, você não precisa executar em cada nó individual.
nodetool repair
é executado no conjunto de nós, que está claramente indicado na documentação .Você pode limitar os nós ou parte dos dados nos quais deseja executar o reparo. Por exemplo, você pode fornecer a
-pr
opção para o intervalo do particionador, intervalo pelo qual o nó é responsável, mas isso terá que ser executado em todo o cluster. Mas se você escolher-local
, os nós no datacenter local do nó serão reparados.fonte
nodetool repair
em um único nó não é suficiente para reparar todos os dados replicados em todos os nós em todas as configurações. A execuçãonodetool repair
em um único nó reparará apenas os dados replicados nesse nó. (A adição da-pr
opção limita o reparo aos dados para os quais esse nó é a primeira réplica.) Mas se você tiver dados em seu cluster que não são replicados nesse nó, será necessário executarnodetool repair
em nós adicionais.