Introdução
Numa terra fantástica chamada Datopia, onde a informação flui como rios de puro conhecimento, vivia um ser curioso chamado Datina. O único propósito de Datina era compreender os intrincados funcionamentos do reino dos dados e aproveitar o seu potencial. Um dia, Datina deparou-se com uma força misteriosa conhecida como Hadoop, uma ferramenta poderosa capaz de processar vastas quantidades de dados. No entanto, para libertar totalmente as suas capacidades, Datina precisava dominar a arte de executar comandos Yarn e manipular ficheiros jar.
O objetivo deste laboratório é guiar Datina através do processo de utilização de comandos Yarn e ficheiros jar dentro do ecossistema Hadoop. Ao completar este laboratório, Datina irá adquirir as habilidades necessárias para gerir e executar aplicações de forma eficiente, desbloqueando o verdadeiro potencial do Hadoop na terra de Datopia.
Explorando o Ambiente Hadoop
Neste passo, vamos familiarizar-nos com o ambiente Hadoop e garantir que todos os componentes necessários estão devidamente configurados.
Primeiro, para mudar para o utilizador hadoop:
su - hadoop
Em seguida, verificando a versão do Hadoop:
hadoop version
Deverá ver uma saída semelhante à seguinte:
Hadoop 3.3.6
...
Listando Arquivos Jar Disponíveis
Neste passo, vamos aprender como listar os ficheiros jar disponíveis no ambiente Hadoop. Estes ficheiros jar contêm aplicações e utilitários pré-construídos que podem ser executados usando comandos Yarn.
ls $HADOOP_HOME/share/hadoop/mapreduce/*.jar
A saída irá exibir uma lista de ficheiros jar localizados no diretório $HADOOP_HOME/share/hadoop/mapreduce. Estes ficheiros jar podem ser usados com comandos Yarn para executar várias aplicações e utilitários.
/home/hadoop/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-client-app-3.3.6.jar
/home/hadoop/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-client-common-3.3.6.jar
/home/hadoop/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-client-core-3.3.6.jar
...
Executando um Arquivo Jar com Yarn
Neste passo, vamos aprender como executar um ficheiro jar usando o comando yarn jar. Usaremos o ficheiro jar hadoop-mapreduce-examples como exemplo.
Agora, execute o exemplo WordCount do jar hadoop-mapreduce-examples:
yarn jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.6.jar wordcount /home/hadoop/input /home/hadoop/output
Dica: Pode ler o conteúdo do ficheiro com hadoop fs -cat /home/hadoop/input/*
O conteúdo do ficheiro de entrada:
hello world
hello labex
hello Hadoop
hello Java
No comando acima, especificamos o ficheiro jar hadoop-mapreduce-examples-3.3.6.jar, a aplicação a ser executada wordcount e os caminhos de entrada e saída /home/hadoop/input e /home/hadoop/output, respetivamente.
Após executar o comando, deverá ver uma saída semelhante à seguinte:
hadoop:~/ $ hadoop fs -cat /home/hadoop/output/* [19:54:17]
Hadoop 1
Java 1
hello 4
labex 1
world 1
Monitorando Aplicações Yarn
Neste passo, vamos aprender como monitorizar e gerir aplicações Yarn usando vários comandos.
Listar aplicações Yarn em execução:
yarn application -list
Exemplo de saída no terminal:
UBMITTED, ACCEPTED, RUNNING, FINISHED, FAILED, KILLED] and tags: []):1
Application-Id Application-Name Application-Type User Queue State Final-State Progress Tracking-URL
application_1711070937750_0001 word count MAPREDUCE hadoop default FINISHED SUCCEEDED 100% http://iZj6cdxwclh8pms0k1vyyhZ:19888/jobhistory/job/job_1711070937750_0001
Obter o estado da aplicação
yarn application -status <application_id>
Exemplo de saída no terminal:
hadoop:~/ $ yarn application -status application_1711070937750_0001 [9:31:46]
2024-03-22 09:33:12,186 INFO client.DefaultNoHARMFailoverProxyProvider: Connecting to ResourceManager at /0.0.0.0:8032
2024-03-22 09:33:12,521 INFO conf.Configuration: resource-types.xml not found
2024-03-22 09:33:12,522 INFO resource.ResourceUtils: Unable to find 'resource-types.xml'.
Application Report :
Application-Id : application_1711070937750_0001
Application-Name : word count
Application-Type : MAPREDUCE
User : hadoop
Queue : default
Application Priority : 0
Start-Time : 1711071042168
Finish-Time : 1711071057334
Parar uma aplicação em execução
yarn application -kill <application_id>
Exemplo de saída no terminal:
hadoop:~/ $ yarn application -kill application_1711070937750_0001 [9:33:14]
2024-03-22 09:34:45,075 INFO client.DefaultNoHARMFailoverProxyProvider: Connecting to ResourceManager at /0.0.0.0:8032
Application application_1711070937750_0001 has already finished
Dicas: pode listar todas as aplicações com yarn application -list -appStates ALL
O comando yarn application permite listar, monitorizar e gerir aplicações Yarn. Pode obter o estado da aplicação e até parar uma aplicação em execução usando os subcomandos respetivos.
Resumo
Neste laboratório, embarcámos numa jornada pela terra de Datopia, onde Datina, um ser curioso, procurou desbloquear o verdadeiro potencial dos comandos Yarn e ficheiros jar do Hadoop. Ao completar este laboratório, Datina adquiriu valiosas competências na listagem de ficheiros jar disponíveis, na execução de aplicações usando o comando yarn jar e na monitorização e gestão de aplicações Yarn.
Através de exercícios práticos, Datina aprendeu a navegar no ambiente Hadoop, a executar aplicações pré-construídas como WordCount e a monitorizar aplicações em execução usando vários comandos Yarn. Estas competências não só capacitam Datina a aproveitar o poder do Hadoop, mas também estabelecem as bases para uma exploração e domínio mais aprofundados do reino dos dados.
Este laboratório desafiou-me a criar uma experiência de aprendizagem envolvente e informativa, combinando conceitos técnicos com uma narrativa fantasiosa. Ao projetar um mundo fictício e uma personagem com a qual é fácil relacionar-se, pretendi tornar o processo de aprendizagem mais agradável e acessível, especialmente para iniciantes. Além disso, concentrei-me em fornecer instruções claras, trechos de código de exemplo e explicações detalhadas para garantir uma jornada de aprendizagem tranquila.



