O HBase MasterServer

Iniciar uma discussão de HBase arquitetura (Hadoop Banco de Dados), descrevendo RegionServers vez do MasterServer pode surpreendê-lo. O termo RegionServer parece implicar que depende (e é secundária a) o MasterServer e que deve, portanto, discutir a MasterServer em primeiro lugar. Como a canção velha vai, no entanto, # 147 não é necessariamente assim como 148.;

Os RegionServers que dependem da MasterServer para determinadas funções, mas não no sentido de uma relação mestre-escravo para o armazenamento e recuperação de dados. No canto superior esquerdo da figura, notar que os clientes não apontar para o MasterServer, mas apontar vez ao cluster e RegionServers Zookeeper.

image0.jpg

O MasterServer não está no caminho para armazenamento de dados e acesso - que é o trabalho do cluster Zookeeper e os RegionServers. Dê uma olhada nas funções primárias do MasterServer, que é também um processo de software (ou daemon) como os RegionServers. O MasterServer está lá para

  • Monitorar os RegionServers no cluster HBase: O MasterServer mantém uma lista de RegionServers ativos no cluster HBase.

  • Lidar com operações de metadados: Quando uma tabela é criada ou seus atributos são alterados (ajuste de compressão, configurações de cache, controle de versão, e muito mais) o MasterServer manipula a operação e armazena os metadados necessários.


  • Atribuir regiões: O MasterServer atribui regiões para RegionServers.

  • Gerenciar RegionServer failover: Como acontece com qualquer conjunto distribuído, você espera que falhas de nós não ocorrem e você planeja para eles de qualquer maneira. Quando os servidores região falhar, Zookeeper notifica o MasterServer para que as operações de failover e restauração pode ser iniciada.

  • Supervisionar o balanceamento de carga das regiões em todos os RegionServers disponíveis: Você deve se lembrar que as tabelas são compostas de regiões que estão uniformemente distribuídas em todas as RegionServers disponíveis. Este é o trabalho do fio balanceador (ou tarefa, se preferir) que a MasterServer ativa periodicamente.



  • Gerenciar (e impecáveis) tabelas de catálogo: Duas tabelas de catálogo-chave são usadas pelo sistema HBase para ajudar um cliente a encontrar um par valor de chave particular no sistema.

    O MasterServer fornece gerenciamento dessas tabelas críticas em nome de todo o sistema HBase.

  • Desmarque a WAL: O MasterServer interage com o WAL durante RegionServer failover e limpa periodicamente os logs.

  • Fornecer um quadro co-processador para a observação de operações de mestre: Aqui está outro termo novo para o seu crescimento glossário HBase. coprocessors executado no contexto do MasterServer ou RegionServers. Por exemplo, um observador coprocessador MasterServer permite alterar ou estender a funcionalidade normal do servidor quando as operações, tais como a criação da tabela ou supressão tabela ter lugar. Muitas vezes, co-processadores são usados ​​para gerenciar índices da tabela para aplicações de HBase avançados.

Um co-processador, que é executado no contexto da MasterServer e ou RegionServer (ou ambas) pode ser utilizada para melhorar a segurança, criar índices secundários, e mais. Você pode encontrar mais informações sobre co-processadores em um HBase blog da comunidade.

Tal como acontece com todas as tecnologias Hadoop de código aberto, as operações MasterServer provavelmente vai mudar ao longo do tempo que a comunidade de engenheiros trabalham em inovações destinadas a melhorar a HBase. Como desta escrita, no entanto, agora você tem uma lista bastante completa que serve como uma referência de alto nível para o MasterServer.

Finalmente, mais um ponto importante a fazer sobre o HBase MasterServer: Não pode e deve ser um MasterServer de backup em qualquer aglomerado HBase. É preciso haver apenas uma MasterServer ativo em um determinado momento, de modo que o MasterServer de backup é para fins de failover.

Você deve se lembrar que o MasterServer não está no caminho de acesso de dados para clientes HBase. No entanto, você também deve se lembrar que o MasterServer é responsável por ações como failover RegionServer e balanceamento de carga. A boa notícia é que os clientes podem continuar a consultar o cluster HBase se o mestre vai para baixo, mas para operações de cluster normais, o mestre não deve permanecer baixo por qualquer período de tempo.