Hadoop - Configuracin Entorno



Hadoop es compatible con GNU/Linux plataforma y sus sabores. Por lo tanto, tenemos que instalar un sistema operativo Linux para configurar Hadoop medio ambiente. En el caso de que usted tenga un SO que no sea Linux, se puede instalar un software en el Virtualbox y Linux dentro del Virtualbox.

De la configuracin previa a la instalacin

Antes de instalar Hadoop en el entorno de Linux, tenemos que configurar Linux usando ssh (Secure Shell). Siga los pasos que se indican a continuacin para configurar el entorno de Linux.

Creacin de un usuario

Al principio, se recomienda crear un usuario aparte para Hadoop para aislar Hadoop sistema de archivos del sistema de archivos de Unix. Siga los pasos que se indican a continuacin para crear un usuario:

  • Abra el usuario root utilizando el comando "su".
  • Crear un usuario de la cuenta de root con el comando "useradd usuario".
  • Ahora puede abrir una cuenta de usuario existente mediante el comando "su nombre".

Abrir el terminal de Linux y escriba los siguientes comandos para crear un usuario.

$ su 
   password: 
# useradd hadoop 
# passwd hadoop 
   New passwd: 
   Retype new passwd 

Configuracin SSH y la generacin de claves

Es necesario realizar una configuracin SSH para realizar diferentes operaciones en un clster como la de iniciar, detener distributed daemon shell las operaciones. Para autenticar usuarios diferentes de Hadoop, es necesaria para proporcionar par de claves pblica/privada para un usuario Hadoop y compartirla con los usuarios.

Los siguientes comandos se utilizan para la generacin de un par de clave y valor mediante SSH. Copiar las claves pblicas forma id_rsa.pub a authorized_keys, y proporcionar el titular, con permisos de lectura y escritura al archivo authorized_keys, respectivamente.

$ ssh-keygen -t rsa 
$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys 
$ chmod 0600 ~/.ssh/authorized_keys 

Instalacin de Java

Java es el principal requisito previo para Hadoop. En primer lugar, debe comprobar la existencia de java en el sistema con el comando "java -version". La sintaxis de java versin comando es dada a continuacin.

$ java -version 

Si todo est en orden, se le dar el siguiente resultado.

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)  

Si java no est instalado en el sistema, a continuacin, siga los pasos que se indican a continuacin para instalar java.

Paso 1

Descargar Java (JDK <latest version> - X64.tar.gz)visitando el siguiente enlace https://www.oracle.com/java/technologies/

A continuacin, jdk-7u71-linux-x64.tar.gz se descargar en su sistema.

Paso 2

En general, encontrar el archivo descargado java en carpeta de descargas. Verificar y extraer el jdk-7u71-linux-x64.gz usando los siguientes 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 

Paso 3

Para que java disponible para todos los usuarios, tiene que mover a la ubicacin /usr/local/. Abrir root, y escriba los siguientes comandos.

$ su 
password: 
# mv jdk1.7.0_71 /usr/local/ 
# exit 

Paso 4

Para la configuracin de ruta de acceso y JAVA_HOME variables, agregar los siguientes comandos en el archivo ~/.bashrc

export JAVA_HOME=/usr/local/jdk1.7.0_71 
export PATH=PATH:$JAVA_HOME/bin 

Ahora compruebe que el java -version comando desde el terminal, como se explic anteriormente.

Descargar Hadoop

Descargar y extraer Hadoop 2.4.1 de Apache software foundation usando los siguientes 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 

Hadoop Modos de funcionamiento

Una vez que hayas descargado Hadoop, puede utilizar el Hadoop cluster en uno de los tres modos admitidos:

  • Local/Modo autnomo: Despus de descargar Hadoop en su sistema, por defecto, se configura en modo independiente se puede ejecutar como un solo proceso java.

  • Pseudo Modo Distribuido: es una simulacin distribuida en una sola mquina. Cada demonio como Hadoop hdfs, hilados, MapReduce, etc. , se ejecute como un proceso java independiente. Este modo es til para el desarrollo.

  • Modo Totalmente Distribuida : Este modo es completamente distribuida con un mnimo de dos o ms mquinas como un clster. Ya hablaremos de este modo en detalle en los prximos captulos.

Instalar Hadoop en modo autnomo

Vamos a discutir la instalacin de Hadoop 2.4.1 en modo autnomo.

No hay demonios y todo se ejecuta en una sola. Modo autnomo es apto para correr programas MapReduce durante el desarrollo, ya que es fcil de probar y depurar el sistema.

Configuracin de Hadoop

Puede establecer las variables de entorno Hadoop anexar los siguientes comandos para~/.bashrcarchivo.

export HADOOP_HOME=/usr/local/hadoop 

Antes de seguir adelante, usted necesita asegurarse de que Hadoop est trabajando bien. Slo hay que utilizar el comando siguiente:

$ hadoop version 

Si todo est bien con su configuracin, a continuacin, usted debe ver el siguiente 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 

Hadoop significa que tu configuracin de modo independiente est trabajando bien. De forma predeterminada, Hadoop est configurado para que se ejecute en un modo distribuido en una sola mquina.

Ejemplo

Veamos un ejemplo sencillo de Hadoop. Hadoop instalacin proporciona el siguiente ejemplo MapReduce archivo jar, que proporciona la funcionalidad bsica de MapReduce y puede utilizarse para calcular, como valor de PI, recuento de palabras en una determinada lista de archivos, etc.

$HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.2.0.jar 

Vamos a tener un directorio de entrada donde vamos a empujar unos cuantos archivos y nuestra obligacin es contar el nmero total de palabras en los archivos. Para calcular el nmero total de palabras, no es necesario escribir nuestro MapReduce, siempre el archivo .jar contiene la implementacin de recuento de palabras. Puede intentar otros ejemplos en los que se usa el mismo archivo .jar, simplemente ejecute los siguientes comandos para comprobar apoya los programas funcionales de MapReduce hadoop mapreduce de ejemplos-2.2.0 .jar.

$ hadoop jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduceexamples-2.2.0.jar 

Paso 1

Crear contenido temporal archivos en el directorio de entrada. Puede crear este directorio de entrada en cualquier lugar en el que les gustara trabajar.

$ mkdir input 
$ cp $HADOOP_HOME/*.txt input 
$ ls -l input 

Le dar los siguientes archivos en el directorio 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 

Estos archivos se han copiado del Hadoop instalacin directorio de inicio. Para el experimento, que puede tener diferentes y grandes conjuntos de archivos.

Paso 2

Vamos a comenzar el proceso Hadoop para contar el nmero total de palabras en todos los archivos disponibles en el directorio de entrada, de la siguiente manera:

$ hadoop jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduceexamples-2.2.0.jar  wordcount input ouput 

Paso 3

Paso-2 har el procesamiento necesario y guardar el resultado de la produccin/parte-r00000 archivo, que se puede comprobar mediante:

$cat output/* 

Para ver una lista de todas las palabras junto con su nmero total disponible en todos los archivos disponibles en el directorio 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 
.............

Instalar Hadoop en Pseudo modo distribuido

Siga los pasos que se indican a continuacin para instalar Hadoop 2.4.1 en pseudo modo distribuido.

Paso 1: Configuracin de Hadoop

Puede establecer las variables de entorno Hadoop anexar los siguientes comandos para~/.bashrc archivo.

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 

Ahora se aplican todos los cambios en el sistema actual.

$ source ~/.bashrc 

Paso 2: Hadoop Configuracin

Usted puede encontrar todos los archivos de configuracin Hadoop en la ubicacin $HADOOP_HOME/etc/hadoop. Es necesario realizar cambios en los archivos de configuracin segn su Hadoop infraestructura.

$ Cd $HADOOP_HOME/etc/hadoop

Con el fin de desarrollar programas en java Hadoop, tiene que restablecer los java variables de entorno en hadoop-env.sh archivo JAVA_HOME valor de sustitucin con la ubicacin de java en su sistema.

export JAVA_HOME=/usr/local/jdk1.7.0_71

La siguiente es una lista de los archivos que tienes que modificar para configurar Hadoop.

Core-site.xml

Elcore-site.xmlcontiene informacin como el nmero de puerto que se usa para Hadoop ejemplo, memoria asignada para el sistema de archivos, lmite de memoria para almacenar los datos, y el tamao de lectura/escritura.

Abrir el core-site.xml y agregar las siguientes propiedades en entre <configuration>, </configuration> etiquetas.

<configuration>

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

hdfs-site.xml

Lahdfs-site.xmlcontiene informacin como el valor de los datos de rplica, namenode ruta y datanode las rutas de acceso de los sistemas de archivos locales. Esto significa que el lugar donde se desea almacenar el Hadoop infraestructura.

Supongamos los siguientes datos.

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 este archivo y agregar las siguientes propiedades en entre el <configuration> &lt/configuration> en el archivo.

<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&lt/name> 
      <value>file:///home/hadoop/hadoopinfra/hdfs/datanode </value> 
   </property>
       
</configuration>

Nota: En el archivo anterior, todos los valores de la propiedad son definidos por el usuario y puede realizar cambios en funcin de su infraestructura Hadoop.

yarn-site.xml

Este archivo se utiliza para configurar yarn en Hadoop. Abra el archivo yarn-site.xml y aadir las siguientes propiedades de entre el <configuration>, </configuration> en el archivo.

<configuration>
 
   <property>
      <name>yarn.nodemanager.aux-services</name>
      <value>mapreduce_shuffle&lt/value> 
   </property>
  
</configuration>

mapred-site.xml

Este archivo se utiliza para especificar qu MapReduce framework que estamos usando. De forma predeterminada, Hadoop contiene una plantilla de yarn-site.xml. En primer lugar, es necesario copiar el archivo desdemapred-site,xml.template a mapred-site.xmlcon el siguiente comando.

$ cp mapred-site.xml.template mapred-site.xml 

Mapred Abierto de sitio.xml y agregar las siguientes propiedades en entre el <configuracin>, < /configuration> etiquetas en este archivo.

<configuration>
 
   <property> 
      <name>mapreduce.framework.name</name>
      <value>yarn</value>
   </property>
   
</configuration>

Hadoop Instalacin Verificacin

Los siguientes pasos se utilizan para verificar la instalacin Hadoop.

Paso 1: Instalacin del nodo Nombre

Configurar el namenode usando el comando "hdfs namenode -format" de la siguiente manera.

$ cd ~ 
$ hdfs namenode -format 

El resultado esperado es la siguiente.

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 
************************************************************/

Paso 2: Comprobar Hadoop dfs

El siguiente comando se utiliza para iniciar sle. Al ejecutar este comando, se iniciar la Hadoop sistema de archivos.

$ start-dfs.sh 

El resultado esperado es la siguiente:

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]

Paso 3: Comprobacin de Script yarn

El siguiente comando se utiliza para iniciar el yarn script. Al ejecutar este comando se inicie el yarn demonios.

$ start-yarn.sh 

El resultado esperado de la siguiente manera:

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 

Paso 4: Acceder a Hadoop en el navegador

El nmero de puerto predeterminado para acceder a Hadoop es 50070. Utilice la siguiente direccin url para obtener Hadoop servicios en el navegador.

http://localhost:50070/
Accessing Hadoop on Browser

Paso 5: Verifique que todas las solicitudes de clster

El nmero de puerto predeterminado para acceder a todas las aplicaciones de clster es 8088. Utilice la siguiente direccin url para visitar este servicio.

http://localhost:8088/
Hadoop Application Cluster
Advertisements