domingo, 6 de outubro de 2013

Mineração de Dados - Hadoop no Windows (com Cygwin)

O Apache Hadoop é um banco extraordinário e feito especialmente para Big Data. Em vários sites pode-se obter as características deste banco. Porém um detalhe, foi criado para Linux, o que pretendo fazer é em uma máquina exclusivamente Windows 7 (sem nenhuma espécie de emulador) rodar este banco. Para isto vamos precisar do Cygwin. (Lembro: que por ser um banco feito em Java é necessário que a JDK tenha sido instalada corretamente antes de começarmos).

1º Passo: Instalando o Cygwin


Baixe e execute o instalador do Cygwin até o momento que for solicitado os pacotes. Nesta tela pesquise (search) cada um dos seguintes pacotes marcando todas suas opções (troque aonde estiver escrito skip):

  • openssh
  • openssl
  • Tcp_wrappers
  • Diffutils
Deixe prosseguir e finalizar a instalação. Ao término pode desmarcar a opção "Add icon to Start Menu".


2º Passo: Configurando o Cygwin


Entre no ícone criado do Cygwin e digite o comando: ssh-host-config, digite a seguinte configuração:

  • privilege: yes (ENTER)
  • new local account: yes (ENTER)
  • install ssh as service: yes (ENTER)
  • value of CYGWIN: (somente pressione ENTER)
  • different name: no (ENTER)
  • create new privilege: yes (ENTER)
  • Entre com uma senha
No Windows, ative o serviço: CYGWIN sshd


3º Passo: Configurando o Hadoop


Baixe no site do Hadoop o arquivo hadoop-[versão atual]-bin.tar.gz e coloque-o na pasta do seu usuário (C:\users\seu_usuário), pois esta é a pasta que o Cygwin utiliza por padrão.

Para descompactar o arquivo, retorne ao Cygwin e digite: tar xzvf hadoop-[versão atual]-bin.tar.gz. Após o término da descompactação, entre na pasta do Hadoop através do gerenciador de arquivos e selecione a pasta conf. Edite (como por exemplo Notepad++) agora os seguintes arquivos:

a. hadoop-env.ssh

Existe uma linha comentada da localização da JAVA_HOME, remova o comentário (#) e corrija com a localização correta da pasta aonde está instalada a JDK. Por exemplo:

export JAVA_HOME=C:/arquiv~1/Java/jdk1.7.0_01

Lembrando que no Linux não existe a pasta "Arquivos de Programas" que deve ser trocada para seu nome simples "arquiv~1"

b. core-site.xml

Adicione para a tag <configuration> o seguinte conjunto:

<configuration>
  <property>
    <name>fs.default.name</name>
    <value>hdfs://localhost:9000</value>
  </property>
</configuration>

c. hdfs-site.xml

Adicione para a tag <configuration> o seguinte conjunto:

<configuration>
  <property>
    <name>dfs.replication
    <value>1
  </property>
</configuration>

d. mapred-site.xml

Adicione para a tag <configuration> o seguinte conjunto:

<configuration>
  <property>
    <name>mapred.job.tracker</name>
    <value>localhost:9001</value>
  </property>
</configuration>

4º Passo: Iniciando o Ambiente


De volta ao Cygwin, digite: cd hadoop-[versão atual]. Precisamos verificar se podemos criar uma nova keygen, use o seguinte comando:

$ ssh localhost

Realizado todos os procedimentos digite:

$ ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa 
$ cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
$ exit

Somente na primeira vez, precisamos distribuir os arquivos de sistema, para tanto digite:

$ bin/hadoop namenode -format

Para iniciar o Hadoop digite:

$ bin/start-all.sh

Para testar se esta tudo funcionando, abra um navegador e digite o seguinte endereço: http://localhost:50070, e como resposta a página do Hadoop aparecerá. Agora já estamos com o nosso banco instalado e funcionando, futuramente vamos realizar alguns testes.

Obrigado e até a próxima
Fernando Anselmo

PS. Para interromper o Hadoop digite:

$ bin/stop-all.sh



0 comentários:

Postar um comentário