Como instalar e configurar o Zookeeper no Ubuntu 18.04
- 1759
- 159
- Mr. Mitchell Hansen
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.
Requisitos de software e convenções usadas
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