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.
- O que é Apache Hadoop?
- Casos de uso do Hadoop
- Visão geral da arquitetura do Hadoop
- Instalar Hadoop no Ubuntu 20.04 - Guia passo a passo
- Pré-requisitos
- Passo 1: Criar usuário sem privilégios de root para o Hadoop
- Passo 2: Configurar chaves SSH
- Passo 3: Baixar e instalar o Hadoop no Ubuntu
- Passo 4: Configurar o ambiente do Hadoop
- Passo 5: Editar arquivos de configuração
- Passo 6: Formatar o HDFS
- Passo 7: Iniciar serviços do Hadoop
- Passo 8: Verificar a instalação
- Passo 9: Acessar as interfaces web
- Passo 10: Executar um exemplo de MapReduce
- Passo 11: Definir variáveis de ambiente
- Conclusão
- Perguntas Frequentes
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!
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 UbuntuPerguntas 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.