Hadoop é suportada pela plataforma GNU/Linux e seus sabores. Portanto, temos de instalar o sistema operacional Linux para configurar Hadoop meio ambiente. No caso de você ter um sistema operacional diferente de Linux, você pode instalar o Virtualbox software e ter Linux dentro do Virtualbox.
Antes de instalar Hadoop para o ambiente Linux, temos de configurar o Linux usando o ssh (Secure Shell). Siga os passos abaixo para configurar o ambiente Linux.
No início, é recomendável criar um usuário separado para Hadoop para isolar Hadoop file system do sistema de arquivos Unix. Siga os passos abaixo para criar uma conta de usuário.
Abra o Linux terminal e digite os seguintes comandos para criar um usuário.
$ su password: # useradd hadoop # passwd hadoop New passwd: Retype new passwd
Configuração SSH é necessário fazer operações diferentes em um cluster, tais como iniciar, parar, distribuídos shell daemon as operações. Para autenticar usuários diferentes do Hadoop, é necessário para fornecer par de chaves pública/privada para o Hadoop user e compartilhá-lo com diferentes usuários.
Os comandos a seguir são usados para gerar um valor de chave par usando o SSH. Copiar as chaves públicas forma id_rsa.pub para authorized_keys e fornecer ao proprietário com permissões de leitura e gravação em arquivo authorized_keys, respectivamente.
$ ssh-keygen -t rsa $ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys $ chmod 0600 ~/.ssh/authorized_keys
O Java é o principal pré-requisito para Hadoop. Primeiro de tudo, você deve verificar a existência de java no seu sistema usando o comando "java -version". A sintaxe do java versão comando é dado abaixo.
$ java -version
Se tudo estiver em ordem, dar-lhe-á a seguinte saída.
java version "1.7.0_71" Java(TM) SE Runtime Environment (build 1.7.0_71-b13) Java HotSpot(TM) Client VM (build 25.0-b02, mixed mode)
Se o java não está instalado no seu sistema, siga os passos abaixo para instalar o java.
Fazer download do java (JDK <latest version> - X64.tar.gz) visitando o link a seguir http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads1880260.html.
Em seguida, o jdk-7u71-linux-x64.tar.gz será baixado no seu sistema.
Geralmente, você irá encontrar o arquivo java baixado na pasta de download. Verifique se ele e extraia o jdk-7u71-linux-x64.gz arquivo usando os seguintes comandos.
$ cd Downloads/ $ ls jdk-7u71-linux-x64.gz $ tar zxf jdk-7u71-linux-x64.gz $ ls jdk1.7.0_71 jdk-7u71-linux-x64.gz
Para tornar java disponível para todos os usuários, você vai ter que ir para o local “/usr/local/”. Open root e digite os seguintes comandos.
$ su password: # mv jdk1.7.0_71 /usr/local/ # exit
Para configurar o caminho e as variáveis JAVA_HOME, adicionar os seguintes comandos para ~/.bashrc file.
export JAVA_HOME=/usr/local/jdk1.7.0_71 export PATH=PATH:$JAVA_HOME/bin
Agora, aplique todas as mudanças no sistema atual.
$ source ~/.bashrc
Use os seguintes comandos para configurar o java alternativas:
# alternatives --install /usr/bin/java java usr/local/java/bin/java 2 # alternatives --install /usr/bin/javac javac usr/local/java/bin/javac 2 # alternatives --install /usr/bin/jar jar usr/local/java/bin/jar 2 # alternatives --set java usr/local/java/bin/java # alternatives --set javac usr/local/java/bin/javac # alternatives --set jar usr/local/java/bin/jar
Agora verifique se o java -version comando no terminal, conforme explicado acima.
Baixe e extraia Hadoop ponto 2.4.1 do Apache software foundation usando os seguintes comandos.
$ su password: # cd /usr/local # wget http://apache.claz.org/hadoop/common/hadoop-2.4.1/ hadoop-2.4.1.tar.gz # tar xzf hadoop-2.4.1.tar.gz # mv hadoop-2.4.1/* to hadoop/ # exit
Uma vez que você tenha baixado Hadoop, você pode operar o Hadoop cluster em um dos três modos suportados:
Local/Modo Autônomo: Depois de baixar o Hadoop em seu sistema, por padrão, ela é configurada de modo independente e pode ser executado como um processo java simples.
Pseudo modo distribuído: é uma simulação distribuída em uma única máquina. Cada daemon, como Hadoop hdfs, fios, MapReduce etc., será executado como um processo java separado. Este modo é útil para o desenvolvimento.
Totalmente distribuída Mode: este modo é totalmente distribuída com um mínimo de duas ou mais máquinas como um cluster. Vamos em frente deste modo em pormenor nos próximos capítulos.
Aqui vamos discutir a instalação do Hadoop 2.4.1 em modo autônomo.
Não há daemons em execução e tudo é executado em uma única JVM. Modo Autônomo é adequado para executar programas MapReduce durante seu desenvolvimento, pois é fácil de testar e depurar-los.
Você pode definir Hadoop variáveis de ambiente, anexando os seguintes comandos para~/.bashrcarquivo.
export HADOOP_HOME=/usr/local/hadoop
Antes de prosseguir, você precisa se certificar de que o Hadoop está funcionando bem. Basta usar o seguinte comando:
$ hadoop version
Se está tudo bem com a sua configuração, em seguida, você deve ver o seguinte resultado:
Hadoop 2.4.1 Subversion https://svn.apache.org/repos/asf/hadoop/common -r 1529768 Compiled by hortonmu on 2013-10-07T06:28Z Compiled with protoc 2.5.0 From source with checksum 79e53ce7994d1628b240f09af91e1af4
Isto significa que o seu modo independente do Hadoop configuração está funcionando bem. Por padrão, Hadoop está configurado para ser executado em um modo não-distribuídos em uma única máquina.
Vamos verificar um exemplo simples do Hadoop. Hadoop instalação fornece o seguinte exemplo MapReduce arquivo jar, que oferece as funcionalidades básicas de MapReduce e pode ser utilizada para o cálculo, como Pi valor, contagens de palavras em uma determinada lista de arquivos, etc.
$HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.2.0.jar
Vamos ter uma entrada diretório onde vamos empurrar alguns arquivos e nossa exigência é a contagem do número total de palavras em arquivos. Para calcular o número total de palavras, não precisamos escrever nossa MapReduce, desde o arquivo .jar contém a aplicação de contagem de palavras. Você pode tentar outros exemplos utilizando o mesmo arquivo .jar, basta emitir os comandos a seguir para verificar programas funcionais suportadas por MapReduce hadoop, mapreduce-exemplos-2.2.0.jar file.
$ hadoop jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduceexamples-2.2.0.jar
Criar temporário de conteúdo os ficheiros no directório de entrada. Você pode criar este directório de entrada em qualquer lugar que você gostaria de trabalhar.
$ mkdir input $ cp $HADOOP_HOME/*.txt input $ ls -l input
Ele dará os seguintes arquivos no seu directório de entrada:
total 24 -rw-r--r-- 1 root root 15164 Feb 21 10:14 LICENSE.txt -rw-r--r-- 1 root root 101 Feb 21 10:14 NOTICE.txt -rw-r--r-- 1 root root 1366 Feb 21 10:14 README.txt
Esses arquivos foram copiados do Hadoop instalação home directory. Para o experimento, você pode ter diferentes e grandes conjuntos de arquivos.
Vamos começar o Hadoop processo para contar o número total de palavras de todos os arquivos disponíveis no directório de entrada, como se segue:
$ hadoop jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduceexamples-2.2.0.jar wordcount input ouput
Passo-2 irá fazer o processamento necessário e salvar a saída da produção/parte-r00000 arquivo, que você pode verificar através de:
$cat output/*
Ele irá listar todas as palavras juntamente com suas contagens totais disponíveis em todos os arquivos disponíveis no directório de entrada.
"AS 4 "Contribution" 1 "Contributor" 1 "Derivative 1 "Legal 1 "License" 1 "License"); 1 "Licensor" 1 "NOTICE” 1 "Not 1 "Object" 1 "Source” 1 "Work” 1 "You" 1 "Your") 1 "[]" 1 "control" 1 "printed 1 "submitted" 1 (50%) 1 (BIS), 1 (C) 1 (Don't) 1 (ECCN) 1 (INCLUDING 2 (INCLUDING, 2 .............
Siga os passos abaixo para instalar Hadoop ponto 2.4.1 do pseudo modo distribuído.
Você pode definir Hadoop variáveis de ambiente, anexando os seguintes comandos para~/.bashrcarquivo.
export HADOOP_HOME=/usr/local/hadoop export HADOOP_MAPRED_HOME=$HADOOP_HOME export HADOOP_COMMON_HOME=$HADOOP_HOME export HADOOP_HDFS_HOME=$HADOOP_HOME export YARN_HOME=$HADOOP_HOME export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin export HADOOP_INSTALL=$HADOOP_HOME
Agora, aplique todas as mudanças no sistema atual.
$ source ~/.bashrc
Você pode encontrar todo o Hadoop arquivos de configuração no local “$HADOOP_HOME/etc/hadoop”. É necessário fazer alterações nos arquivos de configuração de acordo com o Hadoop infra-estrutura.
$ cd $HADOOP_HOME/etc/hadoop
A fim de desenvolver Hadoop programas em java, você tem que reiniciar o java variáveis de ambiente nohadoop-env.sh arquivo substituindo JAVA_HOME valor com a localização do java no seu sistema.
export JAVA_HOME=/usr/local/jdk1.7.0_71
A seguir estão a lista de arquivos que você tenha que editar para configurar Hadoop.
Core-site.xml
Ocore-site.xmlfile contém informações como o número da porta usada para Hadoop exemplo, memória alocada para o sistema de arquivos, limite de memória para armazenar os dados, e o tamanho das ler/escrever buffers.
Abrir o core-site.xml e adicionar as seguintes propriedades, entre <configuration>, </configuration> tags.
<configuration> <property> <name>fs.default.name </name> <value> hdfs://localhost:9000 </value> </property> </configuration>
hdfs-site.xml
The hdfs-site.xml file contém informações como o valor dos dados de replicação, namenode caminho, e datanode os caminhos dos seus sistemas de arquivos locais. Isso significa que o local onde você deseja armazenar o Hadoop infra-estrutura.
Consideremos os seguintes dados.
dfs.replication (data replication value) = 1 (In the below given path /hadoop/ is the user name. hadoopinfra/hdfs/namenode is the directory created by hdfs file system.) namenode path = //home/hadoop/hadoopinfra/hdfs/namenode (hadoopinfra/hdfs/datanode is the directory created by hdfs file system.) datanode path = //home/hadoop/hadoopinfra/hdfs/datanode
Abra esse arquivo e adicione as seguintes propriedades entre a <configuration> </configuration> tags neste arquivo.
<configuration> <property> <name>dfs.replication</name> <value>1</value> </property> <property> <name>dfs.name.dir</name> <value>file:///home/hadoop/hadoopinfra/hdfs/namenode </value> </property> <property> <name>dfs.data.dir</name> <value>file:///home/hadoop/hadoopinfra/hdfs/datanode </value> </property> </configuration>
Nota: no arquivo acima, todos os valores da propriedade são definidos pelo usuário e você pode fazer alterações de acordo com a infra-estrutura do Hadoop.
yarn-site.xml
Este arquivo é usado para configurar os fios no Hadoop. Abra os fios-site.xml file e adicionar as seguintes propriedades entre a <configuration>, </configuration> tags neste arquivo.
<configuration> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> </configuration>
mapred-site.xml
Este arquivo é usado para especificar quais MapReduce framework que estamos utilizando. Por padrão, Hadoop contém um modelo de yarn-site.xml. Primeiro de tudo, é necessário copiar o arquivo do mapred-site,xml.modelo de mapred-site.xml arquivo xml usando o seguinte comando.
$ cp mapred-site.xml.template mapred-site.xml
Abrir mapred-site.xml arqhivo e adicionar as seguintes propriedades entre a <configuration>, </configuration> tags neste arquivo.
<configuration> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> </configuration>
Os passos a seguir são utilizados para verificar a Hadoop instalação.
Configurar o namenode usando o comando “hdfs namenode -format” como se segue.
$ cd ~ $ hdfs namenode -format
O resultado esperado é a seguinte.
10/24/14 21:30:55 INFO namenode.NameNode: STARTUP_MSG: /************************************************************ STARTUP_MSG: Starting NameNode STARTUP_MSG: host = localhost/192.168.1.11 STARTUP_MSG: args = [-format] STARTUP_MSG: version = 2.4.1 ... ... 10/24/14 21:30:56 INFO common.Storage: Storage directory /home/hadoop/hadoopinfra/hdfs/namenode has been successfully formatted. 10/24/14 21:30:56 INFO namenode.NNStorageRetentionManager: Going to retain 1 images with txid >= 0 10/24/14 21:30:56 INFO util.ExitUtil: Exiting with status 0 10/24/14 21:30:56 INFO namenode.NameNode: SHUTDOWN_MSG: /************************************************************ SHUTDOWN_MSG: Shutting down NameNode at localhost/192.168.1.11 ************************************************************/
O seguinte comando é utilizado para iniciar o dfs. A execução deste comando irá iniciar o Hadoop file system.
$ start-dfs.sh
O resultado esperado é a seguinte:
10/24/14 21:37:56 Starting namenodes on [localhost] localhost: starting namenode, logging to /home/hadoop/hadoop 2.4.1/logs/hadoop-hadoop-namenode-localhost.out localhost: starting datanode, logging to /home/hadoop/hadoop 2.4.1/logs/hadoop-hadoop-datanode-localhost.out Starting secondary namenodes [0.0.0.0]
O seguinte comando é utilizado para iniciar o fio script. A execução deste comando irá iniciar os seus fios daemons.
$ start-yarn.sh
O resultado esperado como segue:
starting yarn daemons starting resourcemanager, logging to /home/hadoop/hadoop 2.4.1/logs/yarn-hadoop-resourcemanager-localhost.out localhost: starting nodemanager, logging to /home/hadoop/hadoop 2.4.1/logs/yarn-hadoop-nodemanager-localhost.out
O número de porta padrão para acessar Hadoop é 50070. Utilize a seguinte url para obter Hadoop serviços no navegador.
http://localhost:50070/
O número de porta padrão para acessar todas as aplicações de cluster é 8088. Utilize a seguinte url para visitar este serviço.
http://localhost:8088/