Cloud.ic
Vamos fazer nosso experimento em uma máquina virtual do ambiente OpenStack fornecido pelo IC. Esta máquina receberá um IPv4 para uso local.
Clicar em Compute (no menu lateral esquerdo), depois em Instances e siga os passos abaixo:
fedora-hadoop
cloud
cloud.key
-rw-------
$ chmod 600 cloud.key
Clicar em Network (no menu lateral esquerdo), depois em Security Groups:
Inserir novas regras no default que permitam Ingress e Egress de All TCP.
Após a configuração, vamos testar o acesso via ssh com:
$ ssh -i cloud.key fedora@<ip da instância>
A partir daqui, você deve estar logado na máquina virtual:
[fedora@hadoop-fedora ~]$
Antes de iniciarmos os daemons faça verificação da presença do arquivos abaixo. Pode acontecer de o login ser efetuado antes da configuração acabar.
[fedora@fedora2 ~]$ ls
hadoop-2.8.4 wc-python
[fedora@fedora2 ~]$ ls wc-python/
mapper.py reducer.py
[fedora@fedora2 ~]$ ls .ssh
authorized_keys id_rsa id_rsa.pub known_hosts
Para este experimento, utilizaremos a versão 2.8.4 do Hadoop. Existem versões mais novas com funcionalidade adicionais, mas são mais instáveis. O experimento consiste em uma parte fixa, em que você seguirá uma sequência bem definida de passos para executar a versão MapReduce do grep. Em seguida, você deverá propor e executar um pequeno teste.
A máquina virtual está préconfigura para usar 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 básicos Hadoop (HDFS e MapReduce).
[fedora@fedora2 ~]$ cd hadoop-2.8.4
[fedora@fedora-hadoop hadoop-2.8.4]$ bin/hdfs namenode -format
[fedora@fedora-hadoop hadoop-2.8.4]$ sbin/start-dfs.sh
http://<ip>:50070/
fedora
:
[fedora@fedora-hadoop hadoop-2.8.4]$ bin/hdfs dfs -mkdir /user
[fedora@fedora-hadoop hadoop-2.8.4]$ bin/hdfs dfs -mkdir /user/fedora
[fedora@fedora-hadoop hadoop-2.8.4]$ bin/hdfs dfs -put README.txt README.txt
[fedora@hadoop hadoop-2.8.4]$ bin/hadoop jar share/hadoop/tools/lib/hadoop-streaming-2.8.4.jar -mapper ../wc-python/mapper.py -reducer ../wc-python/reducer.py -input README.txt -output output-README
[fedora@fedora-hadoop hadoop-2.8.4]$ bin/hdfs dfs -get output-README
Para adaptar o código você pode, por exemplo:
O experimento pode ser feito em duplas; apenas uma pessoa precisa entregá-lo via Moodle. Em caso de fraude, poderá ser atribuída nota zero à disciplina.
Data final para entrega: 07 de julho