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.
Tabela 1 descreve as funções de cada módulo mostrado em Figura 1.
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:
|
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
- Depois que o Seguidor ou Observador recebe uma solicitação por escrito, o Seguidor ou Observador envia a solicitação ao Líder.
- O Líder coordena os Seguidores para determinar se aceita o pedido de escrita por votação.
- 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.
- 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.