50% de desconto todos os planos, por tempo limitado. A partir de $2.48/mo
13 min restantes
Bancos de Dados e Análise

Como Instalar Hadoop no Ubuntu: Guia Completo

Pio Bodenmann By Pio Bodenmann leitura de 13 minutos Atualizado 1 de maio de 2024
como instalar hadoop no ubuntu linux

Atualmente, quando um negócio ou qualquer operação envolvendo computadores cresce a ponto de precisar de mais de um computador para processar, imediatamente começamos a usar múltiplos computadores como parte de uma única rede para lidar com a carga de trabalho de forma mais eficiente. Isso se tornou tão comum que quase todas as operações em áreas como ciência de dados são executadas por esses computadores em rede. Embora sem dúvida realizar tarefas computacionais exigentes seja mais eficiente dessa forma, também é incrivelmente complicado, pois você precisa configurar individualmente cada computador e depois gerenciar toda a rede enquanto ela executa suas tarefas. É aí que programas como Hadoop entram em ação.

Hadoop é um conjunto de ferramentas lançado pela Apache que simplifica bastante a tarefa de conectar múltiplos computadores em rede. Neste artigo, vamos explorar o Hadoop, analisar seus casos de uso, discutir vantagens e desvantagens, e apresentar uma visão geral de sua arquitetura avançada. Em seguida, você encontrará um guia passo a passo para instalar o Hadoop no Ubuntu 20.04, finalizando este tutorial de Hadoop 2024.

O que é Apache Hadoop?

O Hadoop, um conjunto de ferramentas desenvolvido pela Apache, vem transformando a forma como infraestruturas de rede são configuradas e utilizadas há mais de 15 anos. Com o Hadoop, você aproveita ao máximo o poder computacional que já possui, executando tarefas exigentes sem necessidade de investimentos caros em novos equipamentos. O conjunto inclui quatro módulos: HDFS, YARN, MapReduce e Hadoop Common, cada um otimizado para diferentes finalidades.

A grande força do Hadoop está na sua eficiência. Permite que pessoas e organizações combinem seus recursos computacionais existentes em uma única plataforma capaz de resolver problemas complexos. Sem o Hadoop, seria necessário investir em máquinas cada vez mais poderosas e caras.

Casos de uso do Hadoop

Agora você sabe o que é Hadoop. Mas como essas funcionalidades se aplicam na prática? Entender a teoria é importante, mas ver o Hadoop funcionando em um ambiente real faz toda a diferença. Vamos explorar alguns exemplos antes de passarmos ao tutorial.

Análise de Risco

Como mencionado, o Hadoop permite usar a capacidade de vários computadores como uma única unidade de rede para processar e analisar grandes volumes de dados rapidamente. Para qualquer negócio, existem riscos que precisam ser avaliados. O Hadoop é extremamente útil aqui. Tanto que muitos hospitais respeitáveis o utilizam para analisar riscos de diferentes tratamentos e prever os resultados e estatísticas das operações para seus pacientes. Saiba mais sobre o papel importante do Hadoop na saúde.

Detecção de violações de segurança

À medida que a quantidade de dispositivos em rede e utilizados aumenta dentro de uma rede ou empresa, surgem mais e mais possibilidades de brechas de segurança. Uma das utilidades essenciais do Hadoop é avaliar a operação inteira analisando grandes lotes de dados e identificando os pontos problemáticos do sistema.

Mapeamento de Avaliação

Muitas empresas dependem do feedback de avaliações que recebem sobre seus produtos para melhorá-los ou desenvolver novas estratégias de mercado. Enquanto uma pessoa levaria muito tempo para processar um arquivo grande de avaliações, o Hadoop usa sua distribuição em rede de computadores para entregar resultados muito mais rápidos.

Análise de Mercado

Falando em estratégias de mercado, a análise de avaliações que mencionamos é insignificante comparada aos recursos necessários para analisar o mercado e avaliar o potencial de um produto novo. Este é outro caso onde o Hadoop brilha, permitindo que até pequenas empresas em crescimento avaliem eficientemente o mercado usando vários computadores em um timeframe e de forma prática.

Análise de arquivos de log

Outro aspecto das empresas que fica mais complicado conforme crescem é a quantidade de software que começam a usar em toda a operação. Mais software significa mais bugs potenciais e pontos problemáticos, exigindo um funcionário dedicado a gerenciar arquivos de log e resolver problemas. Isso levaria bastante tempo, mas usando alguns protocolos simples, uma empresa pode usar o Hadoop para revisar e avaliar rapidamente arquivos de log, encontrar bugs e eliminá-los.

Existem muitos outros casos de uso e aplicações do Hadoop, mas para manter o foco no propósito do artigo, não vamos discuti-los aqui.

Visão geral da arquitetura do Hadoop

Digamos que você já ouviu falar sobre o Hadoop, seus casos de uso e o que faz. E mesmo que não tenha, este artigo provavelmente cobriu isso até agora. Mas agora você precisa entender melhor o que o Hadoop é realmente feito e como cada parte funciona com os outros componentes. Como mencionado antes, o Hadoop tem quatro camadas gerais. Nesta parte do tutorial, vamos aprender mais sobre HDFS (Hadoop Distributed File System), YARN (Yet Another Resource Negotiator), MapReduce e Hadoop Common. Como o Hadoop Common não tem muitos recursos a explicar, os essenciais são conhecidos como Zookeeper. Nesta seção, vou simplificar a arquitetura e o ecossistema avançados do Hadoop e suas quatro seções em termos básicos, antes de passar para como instalar o Hadoop no Ubuntu 20.04.

HDFS

O HDFS no ecossistema Hadoop constitui o sistema de armazenamento geral que todos os subsistemas e aplicações do Hadoop usam para acessar, transferir e salvar dados. O ponto principal da Arquitetura HDFS é que, ao contrário do próprio Hadoop, um programa de código aberto, o HDFS é o sistema de arquivos responsável por executar todas as operações subjacentes de um único cluster Hadoop. HDFS é um sistema de arquivos muito resiliente que divide os lotes de dados em chunks de 128 MB e os otimiza para operações sequenciais.

O papel principal do HDFS no software Hadoop é fornecer todos os dados como parte de um rack de dados geral, que pode ser manipulado por diferentes namenodes e racks secundários em subsseções para organizar sua operação de análise de dados. Você pode então usar outras opções como racks de journal, QJM, HA, arquivos fsimage e edit log e o log de legenda geral para rastrear e executar outras tarefas.

YARN

YARN é outro componente executivo do Hadoop usado para alocar quantidades desejadas de recursos computacionais para aplicações específicas no ecossistema Hadoop. Essencialmente, permite que você use um gerenciador de recursos para seus clientes alocarem esses recursos através de um conjunto de nós diferentes para diferentes tarefas e aplicações. Também há uma legenda no YARN que, semelhante à do HDFS, permite rastrear todos os seus recursos alocados e operações. O YARN em si é dividido em três subsseções: o Resource Manager, o Application Master e o Node Manager.

Cada uma dessas três subsseções cria uma nova instância de si mesma por cluster, aplicação e nó, respectivamente. Não apenas você pode alocar recursos para diferentes tarefas usando YARN, mas também pode agendar esses recursos para mudar ao longo do tempo e criar fluxos de trabalho algorítmicos avançados. O YARN não se limita à sua subsseção. Haverá muitos casos em que você usará YARN em conjunto com outras camadas arquitetônicas como HDFS e Zookeeper para alocar recursos e avaliar sua operação geral.

Hadoop MapReduce

Hadoop MapReduce é outro componente importante no ecossistema Hadoop. Depois de instalar o Hadoop no Ubuntu, você pode usar este recurso para analisar efetivamente um lote enorme de dados de forma distribuída por vários computadores diferentes. Essencialmente, o Hadoop MapReduce funciona assim: você insere um mapa grande de dados no programa. Este mapa de dados será embaralhado, dividido e distribuído entre seus computadores em rede. Posteriormente, usando protocolos específicos conhecidos como reducers, os dados são reduzidos aos seus componentes mais essenciais. Cada uma dessas operações é conhecida como um Job.

Digamos que você tenha uma sentença de três palavras que atua como o mapa de dados que você quer analisar com MapReduce. Digamos que a sentença seja "Bear Hunt Rabbit". O Hadoop MapReduce quebrará e reduzirá essa sentença em três lotes diferentes, cada um com uma palavra, e usará essas palavras para criar novas combinações com entrada de dados semelhante de seus outros jobs para criar um lote de dados final homogeneizado com dados desnecessários removidos e que pode ser facilmente analisado.

Zookeeper

Zookeeper é outro subsistema do ecossistema Hadoop que ganhou destaque e uso comum com o lançamento do Hadoop versão 2.0. O ponto principal de serviço do Zookeeper é coordenar entre as diferentes operações que você está executando como parte de uma única instância do Hadoop. Como tal, o Zookeeper quase sempre é usado em conjunto com o Resource Manager do YARN e os diferentes recursos do HDFS no Hadoop. O uso principal do Zookeeper nessas operações é detectar e resolver possíveis pontos de falha. Para isso, usa duas ferramentas diferentes: ZKFailoverController e o Zookeeper Quorum.

Nessas operações, os nós de dados gerenciados por outros componentes da arquitetura Hadoop são categorizados como namenodes ativos, supervisionados pelo usuário. Posteriormente, cada um desses namenodes passa por análise dentro das duas subsseções mencionadas do Zookeeper. Isso é feito para identificar áreas de dificuldade e identificar possíveis falhas.

Instalar Hadoop no Ubuntu 20.04 - Guia Passo a Passo

E finalmente, depois de aprender sobre a arquitetura do Hadoop, é hora de chegar ao cerne da questão: como instalar o Hadoop no Ubuntu 20.04 como a parte final deste tutorial de Hadoop. Vamos cobrir os pré-requisitos antes de passar para o guia passo a passo de instalação do Hadoop no Ubuntu 20.04. Tenha em mente que este guia também pode ser usado para Ubuntu 18.04.

Pré-requisitos

Os pré-requisitos necessários para instalar o Hadoop no Ubuntu são bem simples. Tudo que você precisa é de um computador com Ubuntu e acesso root, disponível localmente ou acessível remotamente através de um servidor VPS. Quanto aos programas pré-requisitos, certifique-se de que já tem Java 11 e SSH instalados. Se não tiver, execute os seguintes comandos um de cada vez para instalá-los:

sudo apt update && sudo apt upgrade -y
sudo apt install openssh-server openssh-client -y
sudo apt install openjdk-11-jdk -y

Quanto à licença, você não precisará de nenhuma, já que o Hadoop é gratuito e de código aberto. Isso é tudo que você precisa. Vamos para o passo um.

Passo 1: Criar usuário sem privilégios de root para o Hadoop

Crie um usuário não-root para seu Hadoop usando o seguinte comando. Esta é parte das pré-configurações que precisamos fazer antes de realmente baixar e instalar o Hadoop:

sudo adduser hdoop
su - hdoop

Passo 2: Configurar chaves SSH

Agora, para instalar o Hadoop no Ubuntu, usaremos o usuário Hadoop que você acabou de criar e o usaremos para fazer uma conexão SSH com ele. Use este comando para gerar um par de chaves SSH e salvá-lo:

ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa

Depois que as chaves forem geradas, a seguinte linha permitirá que você as marque como authorized_keys e salvá-las em seu diretório SSH:

cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

Agora use este comando para garantir que sua conexão SSH tenha todas as permissões necessárias:

chmod 600 ~/.ssh/authorized_keys
chmod 700 ~/.ssh

Confirme as alterações e você poderá se conectar facilmente ao seu localhost a qualquer momento com o usuário que criou:

ssh localhost

Passo 3: Baixar e instalar o Hadoop no Ubuntu

Você pode visitar o site do Apache Hadoop para ver uma lista de versões com o histórico de mudanças recentes. Selecione a versão desejada e você receberá um link que pode ser usado com o comando a seguir para baixar e instalar o Hadoop no Ubuntu. Aqui estou escolhendo a versão 3.3.6. Substitua '3.3.6' pela versão estável mais recente, se necessário:

wget https://downloads.apache.org/hadoop/common/hadoop-3.3.6/hadoop-3.3.6.tar.gz

Após o download, use este comando para concluir a extração e instalação:

tar xzf hadoop-3.3.6.tar.gz
sudo mv hadoop-3.3.6 /usr/local/hadoop
sudo chown -R hdoop:hdoop /usr/local/hadoop

Passo 4: Configurar o ambiente do Hadoop

Definir JAVA_HOME in /usr/local/hadoop/etc/hadoop/hadoop-env.sh:

echo 'export JAVA_HOME=$(readlink -f /usr/bin/java | sed "s:bin/java::")' | sudo tee -a /usr/local/hadoop/etc/hadoop/hadoop-env.sh

Passo 5: Editar arquivos de configuração

Atualize os arquivos de configuração XML do Hadoop com as configurações do seu cluster.

nano /usr/local/hadoop/etc/hadoop/core-site.xml

Passo 6: Formatar o HDFS

Inicialize o namespace do sistema de arquivos Hadoop.

/usr/local/hadoop/bin/hdfs namenode -format

Passo 7: Iniciar serviços do Hadoop

Inicie os serviços HDFS e YARN.

/usr/local/hadoop/sbin/start-dfs.sh
/usr/local/hadoop/sbin/start-yarn.sh

Passo 8: Verificar a instalação

Verifique os processos em execução no Java para confirmar que o Hadoop está rodando.

jps

Passo 9: Acessar as interfaces web

Abra navegadores web nas interfaces NameNode e ResourceManager do Hadoop.

NameNode: http://localhost:9870
ResourceManager: http://localhost:8088

Passo 10: Executar um exemplo de MapReduce

Execute um trabalho MapReduce de exemplo para validar a configuração.

/usr/local/hadoop/bin/hdfs dfs -mkdir /input
/usr/local/hadoop/bin/hdfs dfs -put localfile.txt /input
/usr/local/hadoop/bin/hadoop jar
/usr/local/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.6.jar grep /input /output 'dfs[a-z.]+'
/usr/local/hadoop/bin/hdfs dfs -cat /output/*

Passo 11: Definir variáveis de ambiente

Adicionar Hadoop's bin e sbin diretórios ao PATH do sistema.

echo 'export PATH=$PATH:/usr/local/hadoop/bin:/usr/local/hadoop/sbin' >> ~/.bashrc
source ~/.bashrc

Pronto! Você conseguiu configurar e instalar com sucesso o Apache Hadoop no Ubuntu 20.04!

Conclusão

Resumindo, a instalação do Hadoop no Ubuntu 20.04 é um processo detalhado que exige atenção cuidadosa e disposição para explorar os detalhes da configuração. Seguindo os passos fornecidos neste guia, usuários do Ubuntu podem começar uma jornada produtiva, aproveitando as capacidades significativas do Hadoop para maximizar o potencial de seus projetos de análise de dados.

Minha recomendação é implantar o Hadoop como um deployment de nó único com distribuição limitada se você só quer aprender e experimentar. Para isso, um VPS funciona perfeitamente. Cloudzy oferece diversos serviços Linux VPS incluindo uma Ubuntu VPS confiável e robusta, que pode ser configurada rapidamente para se tornar o ambiente de aprendizado Hadoop ideal para você. A partir de $4,95 por mês, você consegue seu próprio Ubuntu VPS com mais de 12 locais e suporte 24/7!

ubuntu-vps A Escolha Óbvia

A maioria dos servidores que rodam Linux usam Ubuntu; por que não você? Descubra por que todos adoram Ubuntu, obtenha um VPS Ubuntu otimizado

Contrate seu VPS Ubuntu

Perguntas Frequentes

Quais são as diferenças entre HDFS e MapReduce?

Embora ambos os módulos estejam no ecossistema Hadoop, eles servem para propósitos diferentes. HDFS funciona como um sistema de arquivos distribuído, facilitando o acesso aos dados. MapReduce, por sua vez, é excelente para decompor e analisar de forma eficiente grandes volumes de dados.

O Hadoop é considerado um banco de dados?

Hadoop não é um banco de dados, embora esse seja um equívoco comum. Na verdade, funciona como um sistema de arquivos distribuído que permite armazenar e processar volumes enormes de dados usando uma rede de computadores interconectados. Ele não deve ser usado como substituto direto de um banco de dados tradicional.

Quais são os quatro componentes principais do Hadoop?

Hadoop consiste em quatro componentes principais: HDFS (Hadoop Distributed File System), YARN (Yet Another Resource Negotiator), MapReduce e Hadoop Common. Além disso, alguns recursos consideram o ZooKeeper como um componente, embora não seja reconhecido oficialmente.

Onde o Hadoop é tipicamente utilizado?

Hadoop tem aplicações em diversos domínios onde gerenciar, armazenar, processar e analisar dados em larga escala é essencial. Atende desde empresas de médio porte e hospitais até startups em crescimento, fornecendo soluções orientadas por dados.

Compartilhar

Mais do blog

Continue lendo.

Símbolo original de MongoDB apresentado em um servidor futurista para instalar MongoDB em Ubuntu com tagline sobre o que esperar do artigo, título do artigo e logo da marca Cloudzy
Bancos de Dados e Análise

Como Instalar MongoDB nas Três Versões Mais Recentes de Ubuntu (Passo a Passo)

Você decidiu usar MongoDB, uma ótima alternativa a MariaDB para construir um app MERN stack, uma plataforma de analytics ou qualquer sistema baseado em documentos, mas encontrou dificuldade em encontrar boas

Jim SchwarzJim Schwarz 12 min de leitura
Gestão Inteligente de Dados para Seu Negócio: Estratégias de Armazenamento e Backup "em Nuvem" com VPS
Bancos de Dados e Análise

Gestão Inteligente de Dados para Seu Negócio: Estratégias de Armazenamento e Backup "em Nuvem" com VPS

VPS para gestão segura de dados empresariais é a estratégia que recomendo sempre que uma empresa decide parar de malabarizar arquivos entre laptops, anexos de e-mail e pastas esquecidas

Rexa CyrusRexa Cyrus 7 min de leitura
Visualização materializada versus visualização
Bancos de Dados e Análise

Visualização materializada versus visualização: entendendo seu papel em bancos de dados

Em sistemas de banco de dados, uma visualização materializada é um objeto que armazena os resultados pré-computados de uma consulta como uma tabela física. Como os dados são efetivamente armazenados em disco, operações complexas

Ivy JohnsonIvy Johnson 7 min de leitura

Pronto para fazer o deploy? A partir de $2,48/mês.

Cloud independente, desde 2008. AMD EPYC, NVMe, 40 Gbps. Reembolso em 14 dias.