Académique Documents
Professionnel Documents
Culture Documents
APACHE HADOOP
Workshop:
Ponentes:
julio de 2017
Instalación de Apache Hadoop
Para esta actividad, estamos instalando Apache Hadoop 2.8.0 sobre el sistema operativo
Ubuntu 16.04. Se detallará paso a paso como se realizó la instalación de este software,
considerando que el sistema operativo, ya se encuentra instalado en el equipo que fungirá
como servidor.
Hadoop 2 también añadió soporte para Microsoft Windows y una capacidad de copia
instantánea que hace copias de sólo lectura point-in-time de un sistema de archivos
disponibles para datos backup y recuperación ante desastres (DR). Además, la revisión
ofrece gran compatibilidad binaria con las aplicaciones existentes de MapReduce
construido para las versiones 1.x Hadoop.
Antes de comenzar con la instalación, debemos asegurarnos que nuestro sistema tiene los
paquetes actualizados, utilizando los siguientes comandos:
Ahora, tenemos nuestro sistema actualizado. El siguiente paso es instalar Java de Oracle
con los siguientes comandos:
Podemos checar que la instalación fue correcta, consultando la versión que se instaló:
$ java –version
El siguiente paso es crear un usuario y grupo que será el autorizado para ejecutar el servicio
de Hadoop, además, lo meteremos al grupo de administradores.
Una vez instalado el cliente de SSH, necesitamos crear una clave RSA para que Hadoop
se pueda conectar, pero sin utilizar la clave de acceso. Para esto, primero creamos la llave
que no utilizará llave. Después, copiaremos esa llave a las llaves autorizadas.
Utilizamos los siguientes comandos para descargar el paquete de Hadoop, crear la carpeta
en donde lo instalaremos y dar los permisos adecuados al usuario campus.
$ wget http://www.apache.org/dyn/closer.cgi/hadoop/common/hadoop-2.8.0/hadoop-
2.8.0.tar.gz
$ cd hadoop-2.8.0/
$ sudo mv * /usr/local/hadoop
Archivo ~/.bashrc
Antes de modificar el archivo, vamos a buscar la ruta donde está instalado nuestro Java,
que la vamos a necesitar para indicarle al perfil de usuario donde lo puede encontrar.
------------------------------------------------------------
$ nano ~/.bashrc
$ source ~/.bashrc
Archivo hadoop-env.sh
$ nano /usr/local/hadoop/etc/hadoop/hadoop-env.sh
export JAVA_HOME=/usr/lib/jvm/java-8-oracle
Archivo core-site.xml
Abrimos el archivo e introducimos las siguientes líneas entre las etiquetas <configuration>
</ configuration>:
$ nano /usr/local/hadoop/etc/hadoop/core-site.xml
<configuration>
<property>
<name>hadoop.tmp.dir</name>
<value>/app/hadoop/tmp</value>
<description>A base for other temporary directories.</description>
</property>
<property>
<name>fs.default.name</name>
<value>hdfs://localhost:54310</value>
<description>The name of the default file system.</description>
</property>
</configuration>
Archivo mapred-site.xml
$ cp /usr/local/hadoop/etc/hadoop/mapred-site.xml.template
/usr/local/hadoop/etc/hadoop/mapred-site.xml
$ nano /usr/local/hadoop/etc/hadoop/mapred-site.xml
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>localhost:54311</value>
<description> The host and port that the MapReduce job tracker runs at.
</description>
</property>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
Archivo hdfs-site.xml
Necesitamos configurar hdfs-site.xml para cada host en el clúster que especifica dos
directorios:
Nodo de nombre
Nodo de datos
$ nano /usr/local/hadoop/etc/hadoop/hdfs-site.xml
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
<description>Default block replication.
</description>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/usr/local/hadoop_store/hdfs/namenode</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/usr/local/hadoop_store/hdfs/datanode</value>
</property>
</configuration>
Archivo yarn-site.xml
Abrimos el archivo yarn-site.xml e ingresamos el siguiente contenido entre las etiquetas
<configuration> </ configuration>:
$ nano /usr/local/hadoop/etc/hadoop/yarn-site.xml
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
Una vez que hemos terminado de configurar los archivos necesarios, vamos a formatear el
sistema de archivos de Hadoop (HDFS).
$ start-all.sh
Podemos comprobar que todos los demonios o servicios se han iniciado correctamente
utilizando el siguiente comando:
$ jps
$ stop-all.sh
Después de cargar la información en el servidor, podemos encontrar la lista de los archivos
de un directorio, el estado de un archivo, utilizando "ls". A continuación, se muestra la
sintaxis de ls que se puede pasar a un directorio o un nombre de archivo como argumento.
$ hadoop fs -ls /
Ahora, vamos a ver un ejemplo de cómo insertar datos en HDFS. Suponiendo que tenemos
los datos en el archivo llamado germanData.txt en el sistema local que debe guardarse en
el sistema de archivos HDFS. Sigamos los pasos que se indican a continuación para
insertar el archivo requerido en el sistema de archivos de Hadoop.