Como instalar e configurar o Zookeeper no Ubuntu 18.04

Como instalar e configurar o Zookeeper no Ubuntu 18.04

Zookeeper é um serviço centralizado para manter informações de configuração, nomear, fornecer sincronização distribuída e fornecer serviços de grupo.
Todos esses tipos de serviços são usados ​​de alguma forma ou de outra por aplicativos distribuídos.

Neste artigo, explicamos as etapas necessárias para instalar e configurar o cluster Zookeeper de 3 nós com um quorum definitivo no Ubuntu 18.04.

Neste tutorial, você aprenderá:

  • O que é Zookeeper e sua visão geral.
  • Qual é a arquitetura do Zookeeper.
  • Como configurar os hosts do Zookeeper e adicionar usuário do Zookeeper.
  • Como instalar e configurar o Oracle JDK.
  • Como configurar e configurar o Zookeeper.
  • Como configurar nós do trabalhador para ingressar no cluster de enxame.
  • Como verificar o cluster e o conjunto do Zookeeper.
Visão geral arquitetônica do Zookeeper.

Requisitos de software e convenções usadas

Requisitos de software e convenções de linha de comando Linux
Categoria Requisitos, convenções ou versão de software usada
Sistema Ubuntu 18.04
Programas Zookeeper-3.4.12, Oracle JDK 1.8.0_192
Outro Acesso privilegiado ao seu sistema Linux como raiz ou através do sudo comando.
Convenções # - requer que os comandos Linux sejam executados com privilégios root diretamente como usuário root ou por uso de sudo comando
$ - Requer que os comandos do Linux sejam executados como um usuário não privilegiado regular

Visão geral do Zookeeper



O Zookeeper permite que processos distribuídos se coordenem através de um espaço de nome hierárquico compartilhado de registros de dados (chamamos esses registros Znodes), assim como um sistema de arquivos. Diferentemente dos sistemas normais de arquivos Zookeeper, fornece a seus clientes com alta taxa de transferência, baixa latência, altamente disponível e estritamente ordenado acesso aos Znodes.

Os aspectos de desempenho do Zookeeper permitem que ele seja usado em grandes sistemas distribuídos. Os aspectos de confiabilidade impedem que se torne o ponto único de falha em grandes sistemas. Sua ordem estrita permite que primitivas sofisticadas de sincronização sejam implementadas no cliente.

O espaço de nome fornecido pelo Zookeeper é muito parecido com o de um sistema de arquivos padrão. Um nome é uma sequência de elementos de caminho separados por uma barra ("/"). Cada znode no espaço de nome do Zookeeper é identificado por um caminho. E todo znode tem um pai cujo caminho é um prefixo do znode com um elemento a menos; A exceção a esta regra é root ("/"), que não tem pai. Além disso, exatamente como sistemas de arquivos padrão, um znode não pode ser excluído se tiver filhos.

O Zookeeper foi projetado para armazenar dados de coordenação: informações de status, configuração, informações de localização, etc.

Arquitetura do Zookeeper

Para um serviço confiável do Zookeeper, você deve implantar o Zookeeper em um cluster conhecido como um conjunto. Desde que a maioria do conjunto estivesse, o serviço estará disponível. Como o Zookeeper requer a maioria, é melhor usar um número ímpar de máquinas. Por exemplo, com quatro máquinas Zookeeper pode lidar apenas com a falha de uma única máquina; Se duas máquinas falharem, as duas máquinas restantes não constituem a maioria. No entanto, com cinco máquinas, o Zookeeper pode lidar com a falha de duas máquinas.

Cada um dos componentes que faz parte da arquitetura do Zookeeper foi explicado abaixo.

  • Cliente - Clientes, um dos nós em nosso cluster de aplicativos distribuídos, acessar informações do servidor. Para um determinado intervalo de tempo, todo cliente envia uma mensagem ao servidor para avisar o sever que o cliente está vivo.Da mesma forma, o servidor envia um reconhecimento quando um cliente se conecta. Se não houver resposta do servidor conectado, o cliente redireciona automaticamente a mensagem para outro servidor.
  • Servidor - Servidor, um dos nós em nosso conjunto Zookeeper, fornece todos os serviços aos clientes. Dá reconhecimento ao cliente para informar que o servidor está vivo.
  • Líder - Nó do servidor que executa a recuperação automática se algum dos nó conectados falhar. Os líderes são eleitos na startup de serviços.
  • Seguidor - Nó do servidor que segue a instrução do líder.

Configure os hospedeiros do Zookeeper e adicione o usuário do Zookeeper

Antes de instalar os pacotes de Zookeeper necessários para configuração, configuraremos o arquivo hosts em todos os nós do Ubuntu. Depois disso, criaremos o usuário do Zookeeper nos três nós, pois o daemon do Zookeeper precisa ser executado como funcionário do zoológico próprio usuário.



Aqui usamos 3 Ubuntu 18.04 máquinas.

Zookeeper Node1 - 192.168.1.102 (nome do host - node1) Zookeeper Node2 - 192.168.1.103 (nome do host - node2) Zookeeper Node3 - 192.168.1.105 (nome do host - Node3) 

Editar o /etc/hosts Arquive nos três nós via gedit ou vim e faça as seguintes alterações:

192.168.1.102 Node1 192.168.1.103 Node2 192.168.1.105 Node3 
cópia de

Depois de modificar com os detalhes acima no arquivo hosts, verifique a conectividade com ping entre todos os nós.

Agora, crie o novo funcionário do zoológico Usuário e grupo usando o comando:

# adduser Zookeeper 

Instale e configure o Oracle JDK

Baixar e extrair o arquivo java sob o /optar diretório. Para mais informações, vá para como instalar o Java no Ubuntu 18.04.

Para definir o JDK 1.8 Atualização 192 Como JVM padrão, usaremos os seguintes comandos:

# Update-Alternatives--Install/usr/bin/java java/opt/jdk1.8.0_192/bin/java 100 # atualização-alternativas--install/usr/bin/javac javac/opt/jdk1.8.0_192/bin/javac 100 

Após a instalação para verificar se o Java foi configurado com sucesso, execute os seguintes comandos:

# Update-Alternatives-Display Java # Update-Alternatives-Display Javac 

Para verificar a versão Java, execute os seguintes comandos:

# java -version 

Após a instalação bem -sucedida, você obterá as informações abaixo:

Versão Java "1.8.0_192 "Java (TM) SE Ambiente de tempo de execução (construção 1.8.0_192-B12) Java Hotspot (TM) de 64 bits servidor VM (Build 25.192-B12, modo misto) 


Configure e configure o Zookeeper

Faça o download e descompacte o pacote Zookeeper do arquivo oficial do Apache nas três máquinas Ubuntu, como mostrado abaixo:

$ wget https: // www-us.apache.org/dist/zookeeper/stable/zookeeper-3.4.12.alcatrão.gz 
$ tar -xzvf Zookeeper -3.4.12.alcatrão.gz 

Editar o Bashrc Para o usuário do Zookeeper através da configuração das seguintes variáveis ​​de ambiente Zookeeper.

exportar zoo_log_dir =/var/log/zookeeper 

Fonte do .Bashrc na sessão de login atual:

$ fonte ~//.Bashrc 

Agora, crie o diretório funcionário do zoológico sob /var/lib pasta que servirá como diretório de dados do Zookeeper e criará outro funcionário do zoológico diretório abaixo /var/log onde todos os registros do Zookeeper serão capturados. Ambas as propriedades do diretório precisam ser alteradas como Zookeeper.

$ sudo mkdir/var/lib/zookeeper; CD /var /lib; SUDO CHOWN ZOOKEEPER: Zookeeper Zookeeper/$ sudo mkdir/var/log/zookeeper; cd /var /log; SUDO CHOW 

Crie o ID do servidor para o conjunto. Cada servidor Zookeeper deve ter um número único no minha identidade arquivo dentro do conjunto e deve ter um valor entre 1 e 255.

No node1

$ sudo sh -c "echo '1'>/var/lib/zookeeper/myid" 

No node2

$ sudo sh -c "echo '2'>/var/lib/zookeeper/myid" 

No node3

$ sudo sh -c "echo '3'>/var/lib/zookeeper/myid" 

Agora, vá para a pasta Conf sob o diretório inicial do Zookeeper (localização do diretório Zookeeper após o arquivo ter sido descompactado/extraído).

$ CD/Home/Zookeeper/Zookeeper-3.4.13/conf/ 


Zookeeper@node1: ~/zookeeper-3.4.13/conf $ ls -lrth total 16k -rw-r- r-- 1 zookeeper Zookeeper 922 Jun 29 21:04 ZOO_Sample.CFG-RW-R-R-- 1 Zookeeper Zookeeper 535 Jun 29 21:04 Configuração.xsl -rw-r- r-- 1 Zookeeper Zookeeper 999 24 de novembro 18:29 Zoológico.CFG-RW-R-R-- 1 Zookeeper Zookeeper 2.2K 24 de novembro 19:07 LOG4J.propriedades 
cópia de

Por padrão, um arquivo confl de amostra com nome zoo_sample.cfg estará presente em conf diretório. Você precisa fazer uma cópia com nome jardim zoológico.cfg como mostrado abaixo, e editar novo jardim zoológico.cfg conforme descrito em todas as três máquinas Ubuntu.

$ cp zoo_sample.Zoológico CFG.cfg 
$ ls -lrth/home/zookeeper/zookeeper -3.4.13/conf Total 16k -rw-r-R-- 1 Zookeeper Zookeeper 922 Jun 29 21:04 ZOO_SAMPLE.CFG-RW-R-R-- 1 Zookeeper Zookeeper 535 Jun 29 21:04 Configuração.xsl -rw-r- r-- 1 Zookeeper Zookeeper 999 24 de novembro 18:29 Zoológico.CFG-RW-R-R-- 1 Zookeeper Zookeeper 2.2K 24 de novembro 19:07 LOG4J.propriedades 
cópia de
$ Vim/Home/Zookeeper/Zookeeper-3.4.13/conf/zoo.cfg 
datadir =/var/lib/zookeeper servidor.1 = Node1: 2888: 3888 servidor.2 = Node2: 2888: 3888 servidor.3 = Node3: 2888: 3888 
cópia de

Alterações de configuração do Zookeeper.



Agora, faça as mudanças abaixo em log4.propriedades arquivo como segue.

$ Vim/Home/Zookeeper/Zookeeper-3.4.13/conf/log4j.propriedades 
funcionário do zoológico.registro.Dir =/var/log/zookeeper Zookeeper.tracelog.dir =/var/log/zookeeper log4j.rootlogger = informações, console, rollingfile 
cópia de

Alterações de configuração do Zookeeper Log4J.

Após a configuração ter sido feita em jardim zoológico.cfg Arquivo nos três nós, inicie o Zookeeper nos três nós, um por um, usando o seguinte comando:

$/Home/Zookeeper/Zookeeper-3.4.13/bin/zkserver.SH START 

Serviço Zookeeper Começa nos três nós.

O arquivo de log será criado em /var/log/zookeeper de Zookeeper nomeado funcionário do zoológico.registro, A seguir o arquivo para ver os logs para qualquer erro.

$ cauda -f/var/log/zookeeper/zookeeper.registro 


Verifique o cluster e o conjunto do Zookeeper

No conjunto Zookeeper de três servidores, um estará no modo líder e outros dois estarão no modo seguidor. Você pode verificar o status executando os seguintes comandos.

$/Home/Zookeeper/Zookeeper-3.4.13/bin/zkserver.status sh 

Verificação de status de serviço do Zookeeper.

$ ECHO STAT | NC Node1 2181 

Lista breves detalhes para o servidor e clientes conectados.

$ eco mntr | NC Node1 2181 

Lista de variáveis ​​do Zookeeper para monitoramento de saúde do cluster.



$ echo srvr | NC Localhost 2181 

Lista detalhes completos para o servidor Zookeeper.

Se você precisar verificar e ver o znode, poderá se conectar usando o comando abaixo em qualquer um dos nó Zookeeper:

$/Home/Zookeeper/Zookeeper-3.4.13/bin/zkcli.sh -erver 'hostname -f': 2181 

Conecte -se ao nó de dados do Zookeeper e lista o conteúdo.

Conclusão

Tornou -se uma das opções mais preferidas para criar sistemas distribuídos altamente disponíveis em escala. O Projeto Zookeeper é um dos projetos mais bem -sucedidos da Apache Foundation, ganhou ampla adoção pelas principais empresas, oferecendo inúmeros benefícios relacionados ao big data.

Fornecendo uma base sólida para implementar diferentes ferramentas de big data, o Apache Zookeeper permitiu que as empresas funcionassem sem problemas no mundo do big data. Sua capacidade de fornecer vários benefícios ao mesmo.

Tutoriais do Linux relacionados:

  • Coisas para instalar no Ubuntu 20.04
  • Como criar um cluster Kubernetes
  • Como instalar Kubernetes no Ubuntu 20.04 fossa focal linux
  • Como instalar Kubernetes no Ubuntu 22.04 Jellyfish…
  • Oracle Java Instalação no Ubuntu 20.04 fossa focal linux
  • Uma introdução à automação, ferramentas e técnicas do Linux
  • Linux: Instale Java
  • Coisas para fazer depois de instalar o Ubuntu 20.04 fossa focal linux
  • Oracle Linux vs Red Hat (RHEL)
  • Mastering Bash Script Loops