Este conteúdo foi traduzido por máquina para sua conveniência e a Huawei Cloud não pode garantir que o conteúdo foi traduzido com precisão. Para exibir o conteúdo original, use o link no canto superior direito para mudar para a página em inglês.
Computação
Elastic Cloud Server
Bare Metal Server
Auto Scaling
Image Management Service
Dedicated Host
FunctionGraph
Cloud Phone Host
Huawei Cloud EulerOS
Redes
Virtual Private Cloud
Elastic IP
Elastic Load Balance
NAT Gateway
Direct Connect
Virtual Private Network
VPC Endpoint
Cloud Connect
Enterprise Router
Enterprise Switch
Global Accelerator
Gerenciamento e governança
Cloud Eye
Identity and Access Management
Cloud Trace Service
Resource Formation Service
Tag Management Service
Log Tank Service
Config
Resource Access Manager
Simple Message Notification
Application Performance Management
Application Operations Management
Organizations
Optimization Advisor
Cloud Operations Center
Resource Governance Center
Migração
Server Migration Service
Object Storage Migration Service
Cloud Data Migration
Migration Center
Cloud Ecosystem
KooGallery
Partner Center
User Support
My Account
Billing Center
Cost Center
Resource Center
Enterprise Management
Service Tickets
HUAWEI CLOUD (International) FAQs
ICP Filing
Support Plans
My Credentials
Customer Operation Capabilities
Partner Support Plans
Professional Services
Análises
MapReduce Service
Data Lake Insight
CloudTable Service
Cloud Search Service
Data Lake Visualization
Data Ingestion Service
GaussDB(DWS)
DataArts Studio
IoT
IoT Device Access
Outros
Product Pricing Details
System Permissions
Console Quick Start
Common FAQs
Instructions for Associating with a HUAWEI CLOUD Partner
Message Center
Segurança e conformidade
Security Technologies and Applications
Web Application Firewall
Host Security Service
Cloud Firewall
SecMaster
Anti-DDoS Service
Data Encryption Workshop
Database Security Service
Cloud Bastion Host
Data Security Center
Cloud Certificate Manager
Situation Awareness
Managed Threat Detection
Blockchain
Blockchain Service
Serviços de mídia
Media Processing Center
Video On Demand
Live
SparkRTC
Armazenamento
Object Storage Service
Elastic Volume Service
Cloud Backup and Recovery
Cloud Server Backup Service
Storage Disaster Recovery Service
Scalable File Service
Volume Backup Service
Data Express Service
Dedicated Distributed Storage Service
Containers
Cloud Container Engine
SoftWare Repository for Container
Application Service Mesh
Ubiquitous Cloud Native Service
Cloud Container Instance
Bancos de dados
Relational Database Service
Document Database Service
Data Admin Service
Data Replication Service
GeminiDB
GaussDB
Distributed Database Middleware
Database and Application Migration UGO
TaurusDB
Middleware
Distributed Cache Service
API Gateway
Distributed Message Service for Kafka
Distributed Message Service for RabbitMQ
Distributed Message Service for RocketMQ
Cloud Service Engine
EventGrid
Dedicated Cloud
Dedicated Computing Cluster
Aplicações de negócios
ROMA Connect
Message & SMS
Domain Name Service
Edge Data Center Management
Meeting
AI
Face Recognition Service
Graph Engine Service
Content Moderation
Image Recognition
Data Lake Factory
Optical Character Recognition
ModelArts
ImageSearch
Conversational Bot Service
Speech Interaction Service
Huawei HiLens
Developer Tools
SDK Developer Guide
API Request Signing Guide
Terraform
Koo Command Line Interface
Distribuição de conteúdo e computação de borda
Content Delivery Network
Intelligent EdgeFabric
CloudPond
Soluções
SAP Cloud
High Performance Computing
Serviços para desenvolvedore
ServiceStage
CodeArts
CodeArts PerfTest
CodeArts Req
CodeArts Pipeline
CodeArts Build
CodeArts Deploy
CodeArts Artifact
CodeArts TestPlan
CodeArts Check
Cloud Application Engine
MacroVerse aPaaS
KooPhone
KooDrive

Reatribuição de partições

Atualizado em 2024-01-10 GMT+08:00

Cenário

A reatribuição de partição é reatribuir réplicas de uma partição a diferentes brokers para resolver o problema da carga desbalanceada do broker.

A reatribuição de partição é necessária nos seguintes cenários:

  • Depois que a quantidade de broker é aumentada para uma instância, as réplicas das partições de tópico originais são migradas para os novos brokers.
  • A partição líder é degradada para ser um seguidor em um broker fortemente carregado.
  • O número de réplicas é aumentado ou diminuído.

O console do DMS for Kafka fornece reatribuição automática e manual. A reatribuição automática é recomendada porque garante que os líderes sejam distribuídos uniformemente.

Impacto da operação

  • A reatribuição de partição em tópicos com uma grande quantidade de dados consome uma grande quantidade de largura de banda de rede e armazenamento. Como resultado, as solicitações de serviço podem expirar ou a latência pode aumentar. Portanto, é recomendável que você realize a reatribuição durante o horário fora do horário de pico. Compare a carga de instância atual com base nas especificações da instância para decidir se a capacidade restante da instância pode oferecer suporte à reatribuição de partição. Não reatribuir partições quando houver largura de banda insuficiente ou quando o uso da CPU for maior que 90%.
  • Uma limitação refere-se ao limite superior da largura de banda para replicação de um tópico, para garantir que outros tópicos na instância não sejam afetados. Observe que as limitações se aplicam à replicação acionada pela produção normal de mensagens e pela reatribuição de partição. Se a limitação for muito pequena, a produção normal de mensagens pode ser afetada e a reatribuição de partição pode nunca ser concluída.
  • Não é possível excluir tópicos cujas tarefas de reatribuição foram iniciadas. Caso contrário, as tarefas nunca serão concluídas.
  • Não é possível modificar a quantidade de partição de tópicos cujas tarefas de reatribuição foram iniciadas.
  • As tarefas de reatribuição não podem ser interrompidas manualmente. Por favor, aguarde até que elas sejam concluídas.
  • Se uma tarefa de reatribuição de partição agendada tiver sido configurada, nenhuma outra reatribuição poderá ser executada até que essa tarefa existente seja executada.
  • Após a reatribuição da partição, os metadados do tópico mudam. Se o produtor não suportar o mecanismo de repetição, alguns pedidos falharão, fazendo com que algumas mensagens não sejam produzidas.
  • A reatribuição leva muito tempo se o tópico tiver uma grande quantidade de dados. É aconselhável diminuir o tempo de envelhecimento do tópico com base no consumo do tópico para que os dados históricos do tópico possam ser excluídos em tempo hábil para acelerar a migração.

Preparar para reatribuição de partição

  • Para reduzir a quantidade de dados a serem migrados, diminua o tempo de envelhecimento do tópico sem afetar os serviços e aguarde o envelhecimento das mensagens. Depois que a reatribuição for concluída, você poderá restaurar o tempo de envelhecimento.
  • Certifique-se de que o broker de destino tenha capacidade de disco suficiente. Se a capacidade de disco restante do broker de destino estiver próxima da quantidade de dados a serem migrados para o broker, expanda a capacidade de disco antes da reatribuição.

Reatribuição automática

  1. Faça logon no console de gerenciamento.
  2. Clique em no canto superior esquerdo para selecionar uma região.

    Selecione a região onde sua instância do Kafka está localizada.

  3. Clique em e escolha Middleware > Distributed Message Service (for Kafka) para abrir o console do DMS for Kafka.
  4. Clique na instância do Kafka desejada para exibir os detalhes da instância.
  5. No painel de navegação, escolha a guia Topics.
  6. Reatribua partições usando um dos seguintes métodos:

    • Selecione um ou mais tópicos e escolha Reassign > Auto acima da lista de tópicos.
    • Na linha que contém o tópico desejado, escolha More > Reassign > Auto.

  7. Defina parâmetros de reatribuição automática.

    • Na área Brokers, selecione os brokers aos quais atribuir as réplicas de partição do tópico.
    • Na área Topics, insira o número de réplicas a serem reatribuídas automaticamente. O número de réplicas deve ser menor ou igual ao número de brokers.
    • Especifique throttle. O valor padrão é -1, indicando que não há limitação (recomendado se a carga da instância for leve). Se uma limitação for necessária, é aconselhável defini-la para um valor maior ou igual à largura de banda total de produção do tópico a ser reatribuído multiplicado pelo número máximo de réplicas do tópico a ser reatribuído. Para mais detalhes, consulte Calcular uma limitação.
    • Para Execute, especifique quando executar a reatribuição. Now significa executá-la imediatamente. As scheduled significa executá-la no horário agendado.
    Figura 1 Definir parâmetros de reatribuição automática

  8. Clique em OK. A lista de tópicos é exibida.

    No canto superior esquerdo da lista de tópicos, clique em View details para exibir o status da tarefa de reatribuição na página Background Tasks exibida.

    • Para uma tarefa de reatribuição não agendada, selecione Background tasks no canto superior direito da página Background Tasks para exibir o status da tarefa. Quando o status da tarefa for Successful, a reatribuição foi concluída.
    • Para uma tarefa de reatribuição agendada, selecione Scheduled tasks no canto superior direito da página Background Tasks para exibir o status da tarefa. Quando o status da tarefa é Pending, a reatribuição não foi executada. Quando o status da tarefa for Successful, a reatribuição foi concluída. Selecione Background tasks no canto superior direito da página para exibir o status da tarefa. Quando o status da tarefa for Successful, a reatribuição foi concluída.
    Figura 2 Página de tarefas em segundo plano
    • Não é possível excluir tópicos cujas tarefas de reatribuição foram iniciadas. Caso contrário, as tarefas nunca serão concluídas.
    • Não é possível modificar a quantidade de partição de tópicos cujas tarefas de reatribuição foram iniciadas.
    • As tarefas de reatribuição não podem ser interrompidas manualmente. Por favor, aguarde até que elas sejam concluídas.
    • Se uma tarefa de reatribuição de partição agendada tiver sido configurada, nenhuma outra reatribuição poderá ser executada até que essa tarefa existente seja executada.

Reatribuição manual

  1. Faça logon no console de gerenciamento.
  2. Clique em no canto superior esquerdo para selecionar uma região.

    Selecione a região onde sua instância do Kafka está localizada.

  3. Clique em e escolha Middleware > Distributed Message Service (for Kafka) para abrir o console do DMS for Kafka.
  4. Clique na instância do Kafka desejada para exibir os detalhes da instância.
  5. No painel de navegação, escolha a guia Topics.
  6. Reatribua partições usando um dos seguintes métodos:

    • Selecione um tópico e escolha Reassign > Manual acima da lista de tópicos. A reatribuição manual não oferece suporte a operações em lote.
    • Na linha que contém o tópico desejado, escolha More > Reassign > Manual.

  7. Defina parâmetros de reatribuição manual.

    • No canto superior direito da caixa de diálogo Manual, clique em Delete Replica ou Add Replica para reduzir ou aumentar o número de réplicas para cada partição do tópico.
    • Sob o nome da réplica a ser reatribuída, clique no nome do broker ou e selecione o broker de destino para o qual migrar a réplica. Atribua réplicas da mesma partição a diferentes brokers.
    • Especifique throttle. O valor padrão é -1, indicando que não há limitação (recomendado se a carga da instância for leve). Se uma limitação for necessária, é aconselhável defini-la para um valor maior ou igual à largura de banda total de produção do tópico a ser reatribuído multiplicado pelo número máximo de réplicas do tópico a ser reatribuído. Para mais detalhes, consulte Calcular uma limitação.
    • Para Execute, especifique quando executar a reatribuição. Now significa executá-la imediatamente. As scheduled significa executá-la no horário agendado.
    Figura 3 Configurar parâmetros de reatribuição manual

  8. Clique em OK. A lista de tópicos é exibida.

    No canto superior esquerdo da lista de tópicos, clique em View details para exibir o status da tarefa de reatribuição na página Background Tasks exibida.

    • Para uma tarefa de reatribuição não agendada, selecione Background tasks no canto superior direito da página Background Tasks para exibir o status da tarefa. Quando o status da tarefa for Successful, a reatribuição foi concluída.
    • Para uma tarefa de reatribuição agendada, selecione Scheduled tasks no canto superior direito da página Background Tasks para exibir o status da tarefa. Quando o status da tarefa é Pending, a reatribuição não foi executada. Quando o status da tarefa for Successful, a reatribuição foi concluída. Selecione Background tasks no canto superior direito da página para exibir o status da tarefa. Quando o status da tarefa for Successful, a reatribuição foi concluída.
    Figura 4 Página de tarefas em segundo plano
    • Não é possível excluir tópicos cujas tarefas de reatribuição foram iniciadas. Caso contrário, as tarefas nunca serão concluídas.
    • Não é possível modificar a quantidade de partição de tópicos cujas tarefas de reatribuição foram iniciadas.
    • As tarefas de reatribuição não podem ser interrompidas manualmente. Por favor, aguarde até que elas sejam concluídas.
    • Se uma tarefa de reatribuição de partição agendada tiver sido configurada, nenhuma outra reatribuição poderá ser executada até que essa tarefa existente seja executada.

Reagendar a reatribuição de partição

  1. No canto superior direito da página Background Tasks, selecione Scheduled tasks e um segmento de tempo para procurar a tarefa desejada.

    Figura 5 Selecionar tarefas agendadas e um segmento de tempo

  2. Na linha que contém a tarefa desejada, clique em Modify.
  3. Na caixa de diálogo Change Schedule, altere o agendamento ou cancele a tarefa agendada.

    • Para alterar o cronograma, selecione um horário e clique em OK.
    • Para cancelar a tarefa, selecione Cancel (como mostrado na Figura 6) e clique em OK.
      Figura 6 Cancelar uma tarefa de reatribuição agendada

Calcular uma limitação

As limitações são afetadas pela duração da execução da reatribuição, distribuição líder/seguidor de réplicas de partição e taxa de produção de mensagens.

  • Uma limitação limita o tráfego de replicação de todas as partições em um broker.
  • Réplicas adicionadas após a atribuição são consideradas seguidores, e réplicas existentes são consideradas líderes. As limitações sobre líderes e seguidores são separadas.
  • As limitações não distinguem entre a replicação causada pela produção normal de mensagens e aquela causada pela reatribuição de partição. Portanto, o tráfego gerado em ambos os casos é estrangulado.

Suponha que a tarefa de reatribuição de partição precisa ser concluída dentro de 200s e cada réplica tem 100 MB de dados. Calcule a limitação nos seguintes cenários:

Cenário 1: o Tópico 1 tem duas partições e duas réplicas, e o Tópico 2 tem uma partição e uma réplica. Todas as réplicas do líder estão no mesmo broker. Uma réplica precisa ser adicionada para o Tópico 1 e Tópico 2, respectivamente.

Tabela 1 Distribuição da réplica antes da reatribuição

Nome do tópico

Nome da partição

Broker da réplica de líder

Broker da réplica de seguidor

Tópico 1

0

0

0, 1

Tópico 1

1

0

0, 2

Tópico 2

0

0

0

Tabela 2 Distribuição de réplica após reatribuição

Nome do tópico

Nome da partição

Broker da réplica de líder

Broker da réplica de seguidor

Tópico 1

0

0

0, 1, 2

Tópico 1

1

0

0, 1, 2

Tópico 2

0

0

0, 2

Figura 7 Cenário de reatribuição 1

Conforme mostrado em Figura 7, três réplicas buscam dados do Broker 0. Cada réplica no Broker 0 tem 100 MB de dados. O Broker 0 tem apenas réplicas de líder, e o Broker 1 e o Broker 2 têm apenas réplicas de seguidor.

  • Largura de banda exigida pelo Broker 0 para completar a reatribuição de partição dentro de 200s = (100 MB + 100 MB + 100 MB + 100 MB)/200s = 1,5 MB/s
  • Largura de banda exigida pelo Broker 1 para completar a reatribuição da partição dentro de 200s = 100 MB/200s = 0,5 MB/s
  • Largura de banda exigida pelo Broker 2 para completar a reatribuição de partição dentro de 200s = (100 MB + 100 MB)/200s = 1 MB/s

Em conclusão, para concluir a tarefa de reatribuição de partição dentro de 200s, defina a limitação para um valor maior ou igual a 1,5 MB/s.

Cenário 2: o Tópico 1 tem duas partições e uma réplica, e o Tópico 2 tem duas partições e uma réplica. As réplicas de líder estão em brokers diferentes. Uma réplica precisa ser adicionada para o Tópico 1 e Tópico 2, respectivamente.

Tabela 3 Distribuição da réplica antes da reatribuição

Nome do tópico

Nome da partição

Broker da réplica de líder

Broker da réplica de seguidor

Tópico 1

0

0

0

Tópico 1

1

1

1

Tópico 2

0

1

1

Tópico 2

1

2

2

Tabela 4 Distribuição de réplica após reatribuição

Nome do tópico

Nome da partição

Broker da réplica de líder

Broker da réplica de seguidor

Tópico 1

0

0

0, 2

Tópico 1

1

1

1, 2

Tópico 2

0

1

1, 2

Tópico 2

1

2

2, 0

Figura 8 Cenário de reatribuição 2

Conforme mostrado em Figura 8, o Broker 1 tem apenas réplicas de líder, e o Broker 0 e o Broker 2 têm réplicas de líder e seguidor. As réplicas líder e seguidor no Broker 0 e no Broker 2 são controladas separadamente.

  • Largura de banda exigida pelo Broker 0 (líder) para completar a reatribuição da partição dentro de 200s = 100 MB/200s = 0,5 MB/s
  • Largura de banda exigida pelo Broker 0 (seguidor) para completar a reatribuição da partição dentro de 200s = 100 MB/200s = 0,5 MB/s
  • Largura de banda exigida pelo Broker 1 para completar a reatribuição de partição dentro de 200s = (100 MB + 100 MB)/200s = 1 MB/s
  • Largura de banda exigida pelo Broker 2 (líder) para completar a reatribuição da partição dentro de 200s = 100 MB/200s = 0,5 MB/s
  • Largura de banda exigida pelo Broker 2 (seguidor) para completar a reatribuição da partição dentro de 200s = (100 MB + 100 MB + 100 MB)/200s = 1,5 MB/s

Em conclusão, para concluir a tarefa de reatribuição de partição dentro de 200s, defina a limitação para um valor maior ou igual a 1,5 MB/s.

Cenário 3: tanto o Tópico 1 como o Tópico 2 têm uma partição e duas réplicas. Todas as réplicas do líder estão no mesmo broker. Uma réplica precisa ser adicionada ao Tópico 1. As mensagens são produzidas no Tópico 1, causando replicação.

Tabela 5 Distribuição da réplica antes da reatribuição

Nome do tópico

Nome da partição

Broker da réplica de líder

Broker da réplica de seguidor

Tópico 1

0

0

0, 1

Tópico 2

0

0

0, 1

Tabela 6 Distribuição de réplica após reatribuição

Nome do tópico

Nome da partição

Broker da réplica de líder

Broker da réplica de seguidor

Tópico 1

0

0

0, 1, 2

Tópico 2

0

0

0, 1

Figura 9 Cenário de reatribuição 3

Conforme mostrado em Figura 9, uma réplica precisa buscar dados do Broker 0 para reatribuição de partição e a outra réplica precisa buscar dados do Broker 0 para produção de mensagens. Como a limitação não distingue entre a produção de mensagens e a reatribuição de partição, o tráfego causado por ambos é limitado e contado.

  • Largura de banda exigida pelo Broker 0 para concluir a reatribuição de partição dentro de 200s = (100 MB + 700 KB/s x 200s)/200s + 700 KB/s = 1,9 MB/s
  • Largura de banda exigida pelo Broker 2 para completar a reatribuição da partição dentro de 200s = 100 MB/200s = 0,5 MB/s

Em conclusão, para concluir a tarefa de reatribuição de partição dentro de 200s, defina a limitação para um valor maior ou igual a 1,9 MB/s.

Usamos cookies para aprimorar nosso site e sua experiência. Ao continuar a navegar em nosso site, você aceita nossa política de cookies. Saiba mais

Feedback

Feedback

Feedback

0/500

Conteúdo selecionado

Envie o conteúdo selecionado com o feedback