INF550 - Computação em Nuvem I
Experimento com HDFS, YARN e MapReduce
Instalação do Hadoop
Na primeira parte do experimento, você deve instalar o Hadoop
(não precisa ser a versão com código
fonte). Existem três modos:
Sugiro o modo Pseudo-Distributed, também chamado de Single Node
Cluster. Neste modo, você precisará de apenas um
computador e poderá verificar o funcionamento dos componentes
do Hadoop (HDFS e YARN).
Principais passos:
- Para melhor desempenho e para não ter problemas com cota: Trabalhe no diretório temporário das máquinas do IC-03.
- Verifique a configuração do ssh
$ ssh localhost
Se uma password for solicitada:
$ ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
$ chmod 0600 ~/.ssh/authorized_keys
Importante: utilize rsa e não dsa como sugerido no site do Hadoop.
- Faça o download da versão 2.7.2
$ wget http://ftp.unicamp.br/pub/apache/hadoop/common/hadoop-2.7.2/hadoop-2.7.2.tar.gz
- Descompacte com
$ tar xzf hadoop-2.7.2.tar.gz
- Siga as orientações para a instalação do site do Hadoop.
- Verifique o funcionamento do HDFS em http://localhost:50070/
- Verifique o funcionamento do YARN em http://localhost:8088/
- Rode um dos exemplos prontos de mapreduce.
MapReduce
Na segunda parte, iremos rodar o WordCount a partir de um código fonte.
A partir deste passo, você poderá alterar este teste,
para implementar o seu próprio código mapreduce. Por exemplo,
você pode escrever uma variação que conta as
palavras de mesmo tamanho ou as palavras que começam com uma
dada letra.
Para um exercício um pouco mais difícil implemente o índice invertido ou a recomendação de amigos.
Se você gosta de JAVA...
Execute o código do WordCount v1.0, seguindo
o
MapReduce Tutorial.
Se você prefere Python...
Siga as intruções em Writing an Hadoop MapReduce Program in Python. Para executar, utilize um comando similar a:
$ bin/hadoop jar share/hadoop/tools/lib/hadoop-*streaming*.jar -mapper mapper.py -reducer reducer.py -input /input -output /output