AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / dba / Perguntas / 330765
Accepted
Sai
Sai
Asked: 2023-08-31 06:52:08 +0800 CST2023-08-31 06:52:08 +0800 CST 2023-08-31 06:52:08 +0800 CST

Dados inconsistentes após restaurar o banco de dados usando a atualização do nodetool no K8s Cassandra

  • 772

Detalhes do ENV:

  1. GKE (cluster do Google Kubernetes)
  2. Delator da nuvem do Google. https://docs.datastax.com/en/cassandra-oss/3.0/cassandra/architecture/archSnitchGoogle.html
  3. 140 nós com 4 RACKs (4 statefulsets em 4 AZs em uma região)
  4. Cada tamanho de nó é 5 TB e o tamanho do cluster é 700 TB.

Procedimento seguido para restaurar o banco de dados: restaurei um tamanho de banco de dados de 450 TB no cassandra K8s da origem ao destino usando a atualização do nodetool copiando sstables. Cada nó possui cerca de 5 a 6 TB de dados. A abordagem que tomei:

  1. Crie um novo cluster com o mesmo número de nós, como 140 nós de origem.
  2. Criou novos discos a partir de instantâneos de disco de origem (nuvem) e anexou esses discos a novos nós.
  3. Tabelas de sistema limpas.
  4. C* iniciado como um cluster de destino.
  5. Tabelas criadas manualmente que correspondem ao cluster de origem
  6. Estábulos copiados de tabelas antigas para tabelas recém-criadas (UUID). 7 Executei a atualização do nodetool

Observação: status do Nodetool mostrando o mesmo tamanho da origem para cada nó, cfstats também correspondendo ao tamanho das tabelas no destino e na origem.

Problema pós-migração:

  1. Para reduzir o tamanho do cluster, comecei a descomissionar um dos nós e ele foi concluído em 10 minutos. Esperando ver pelo menos 8 horas com base na manutenção anterior do cluster de origem.

  2. Como não se esperava que a desativação fosse executada apenas por 10 minutos, tentei adicionar um novo nó ao cluster, que deveria copiar dados de aproximadamente 5 a 6 TB, mas copiou apenas 2 TB.

  3. Como outra verificação, tentei "limpeza do Nodetool" em outro nó que faz parte do cluster de destino e reduziu os dados de 6 TB para 2 TB. A mesma limpeza não reduz quaisquer dados no nó de origem.

  4. Após a restauração, todo o cluster é reparado no destino usando a ferramenta Reaper e não há problemas com o reparo, mas o problema é a desativação, a limpeza e a inicialização.

cassandra
  • 1 1 respostas
  • 35 Views

1 respostas

  • Voted
  1. Best Answer
    Erick Ramirez
    2023-08-31T11:41:10+08:002023-08-31T11:41:10+08:00

    Suspeito que o problema subjacente é que seu procedimento está incorreto. Para que o "método de atualização" funcione, o(s) nó(s) de origem e o(s) nó(s) de destino correspondente(s) devem ter configuração idêntica ao(s) token(s) atribuído(s) a eles, conforme expliquei em Como restaurar instantâneos do Cassandra para outro cluster com configuração idêntica? .

    Quando você copia SSTables para um nó que possui uma propriedade de token diferente do nó de origem, as partições nesses SSTables que não pertencem ao nó de destino são descartadas quando você executa nodetool cleanup.

    Como os nós são implantados em um cluster Kubernetes, presumo que você não tenha controle sobre as atribuições de token, o que significa que os pods teriam recebido tokens aleatórios.

    Em uma situação em que a configuração não é idêntica entre os clusters de origem e de destino, não é possível usar o método de atualização. O procedimento correto é carregar os dados usando sstableloader.

    Se você estiver interessado, documentei as etapas detalhadas em Como migrar dados em tabelas para um novo cluster Cassandra? . Saúde!

    • 0

relate perguntas

  • Configuração multidatacenter Cassandra com 1 ip externo

  • Problemas de atualização/reparo do Cassandra na migração

  • Consultas do navegador Cassandra cqlsh possíveis apenas em bytes

  • Quais são as penalidades de usar muitos (milhares) de famílias de colunas ou keyspaces no Cassandra?

  • Criptografia Cassandra em repouso

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    conectar ao servidor PostgreSQL: FATAL: nenhuma entrada pg_hba.conf para o host

    • 12 respostas
  • Marko Smith

    Como fazer a saída do sqlplus aparecer em uma linha?

    • 3 respostas
  • Marko Smith

    Selecione qual tem data máxima ou data mais recente

    • 3 respostas
  • Marko Smith

    Como faço para listar todos os esquemas no PostgreSQL?

    • 4 respostas
  • Marko Smith

    Listar todas as colunas de uma tabela especificada

    • 5 respostas
  • Marko Smith

    Como usar o sqlplus para se conectar a um banco de dados Oracle localizado em outro host sem modificar meu próprio tnsnames.ora

    • 4 respostas
  • Marko Smith

    Como você mysqldump tabela (s) específica (s)?

    • 4 respostas
  • Marko Smith

    Listar os privilégios do banco de dados usando o psql

    • 10 respostas
  • Marko Smith

    Como inserir valores em uma tabela de uma consulta de seleção no PostgreSQL?

    • 4 respostas
  • Marko Smith

    Como faço para listar todos os bancos de dados e tabelas usando o psql?

    • 7 respostas
  • Martin Hope
    Jin conectar ao servidor PostgreSQL: FATAL: nenhuma entrada pg_hba.conf para o host 2014-12-02 02:54:58 +0800 CST
  • Martin Hope
    Stéphane Como faço para listar todos os esquemas no PostgreSQL? 2013-04-16 11:19:16 +0800 CST
  • Martin Hope
    Mike Walsh Por que o log de transações continua crescendo ou fica sem espaço? 2012-12-05 18:11:22 +0800 CST
  • Martin Hope
    Stephane Rolland Listar todas as colunas de uma tabela especificada 2012-08-14 04:44:44 +0800 CST
  • Martin Hope
    haxney O MySQL pode realizar consultas razoavelmente em bilhões de linhas? 2012-07-03 11:36:13 +0800 CST
  • Martin Hope
    qazwsx Como posso monitorar o andamento de uma importação de um arquivo .sql grande? 2012-05-03 08:54:41 +0800 CST
  • Martin Hope
    markdorison Como você mysqldump tabela (s) específica (s)? 2011-12-17 12:39:37 +0800 CST
  • Martin Hope
    Jonas Como posso cronometrar consultas SQL usando psql? 2011-06-04 02:22:54 +0800 CST
  • Martin Hope
    Jonas Como inserir valores em uma tabela de uma consulta de seleção no PostgreSQL? 2011-05-28 00:33:05 +0800 CST
  • Martin Hope
    Jonas Como faço para listar todos os bancos de dados e tabelas usando o psql? 2011-02-18 00:45:49 +0800 CST

Hot tag

sql-server mysql postgresql sql-server-2014 sql-server-2016 oracle sql-server-2008 database-design query-performance sql-server-2017

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve