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.
Atualizado em 2023-05-19 GMT+08:00

Princípios básicos do ZooKeeper

Visão geral

ZooKeeper é um serviço de coordenação distribuído e altamente disponível. O ZooKeeper é usado para fornecer as seguintes funções:

  • Impede o sistema de SPOFs e fornece serviços confiáveis para aplicações.
  • Fornece serviços de coordenação distribuídos e gerencia informações de configuração.

Arquitetura

Os nós em um cluster do ZooKeeper têm três funções: Líder, Seguidor e Observador, conforme mostrado em Figura 1. Geralmente, um número ímpar de serviços ZooKeeper (2N+1) precisa ser configurado no cluster, e pelo menos (N+1) maioria de votos é necessária para executar a operação de gravação.

Figura 1 Arquitetura

Tabela 1 descreve as funções de cada módulo mostrado em Figura 1.

Tabela 1 Descrição da arquitetura

Nome

Descrição

Líder

Apenas um nó serve como o Líder em um cluster de ZooKeeper. O Líder, eleito pelos Seguidores usando o protocolo de Transmissão Atômica do ZooKeeper (ZAB), recebe e coordena todas as solicitações de escrita e sincroniza as informações escritas para Seguidores e Observadores.

Seguidor

O Seguidor tem duas funções:

  • Previne SPOFs. Um novo Líder é eleito dos Seguidores quando o Líder está com defeito.
  • Processa solicitações de leitura e interage com o Líder para processar solicitações de gravação.

Observador

O observador não participa na votação para a eleição e escreve solicitações. Ele processa apenas solicitações de leitura e encaminha solicitações de gravação para o Líder, aumentando a eficiência do processamento do sistema.

Cliente

Lê e grava dados de ou para o cluster do ZooKeeper. Por exemplo, o HBase pode servir como um cliente de ZooKeeper e usar a função de arbitragem do cluster do ZooKeeper para controlar o status ativo/em espera do HMaster.

Se os serviços de segurança estiverem ativados no cluster, a autenticação será necessária durante a conexão com a ZooKeeper. Os modos de autenticação são os seguintes:

  • Modo de Keytab: você precisa obter um usuário homem-máquina do administrador de cluster do MRS para logon e autenticação do console do MRS e obter o arquivo Keytab do usuário.
  • Modo de tíquete: obtenha um usuário humano-máquina do administrador de cluster do MRS para logon seguro subsequente, habilite as funções renováveis e encaminhadas do serviço Kerberos, defina o período de atualização do tíquete e reinicie o Kerberos e os componentes relacionados.
    • Por padrão, o período de validade da senha do usuário é de 90 dias. Portanto, o período de validade do arquivo Keytab obtido é de 90 dias.
    • Os parâmetros para ativar as funções renováveis e encaminhadas e definir o intervalo de atualização do tíquete estão na guia System da página de configuração do serviço Kerberos. O intervalo de atualização do tíquete pode ser definido como kdc_renew_lifetime ou kdc_max_renewable_life com base na situação real.

Princípios

  • Solicitação de gravação
    1. Depois que o Seguidor ou Observador recebe uma solicitação por escrito, o Seguidor ou Observador envia a solicitação ao Líder.
    2. O Líder coordena os Seguidores para determinar se aceita o pedido de escrita por votação.
    3. Se mais da metade dos eleitores retornarem uma mensagem de sucesso de gravação, o líder enviará a solicitação de gravação e retornará uma mensagem de sucesso. Caso contrário, uma mensagem de falha é retornada.
    4. O Seguidor ou Observador retorna os resultados de processamento.
  • Solicitação somente leitura

    O cliente lê diretamente os dados do Líder, Seguidor ou Observador.