Hadoop

De Ardemans Wiki
Saltar a: navegación, buscar

Introducción

Documento con apuntes sobre mi investigación sobre que es hadoop y como instalarlo. Viene de la necesidad en mi curro de instalar un sistema de procesado distribuido de ciertos ficheros de log.

Enlaces de interes

Instalación

Preparación

Antes de nada he tenido que instalar Java 1.6.x (segun la documentación, preferiblemente desde SUN). Para descargarlo desde esta página. Me lo he descargado a /opt/src, y después lo he ejecutado poniendo sh /opt/src/jre-6u33-linux-x64.bin. Esto descomprime el binario y lo deja en /opt/src/jre1.6.0_33 y yo lo he movido a /opt/jre1.6.0_33. Además creo un enlace dentro del propio /opt con ln -s /opt/jre1.6.0_33 java.

Tambien he añadido al fichero /root/.bashrc las siguientes líneas

export JAVA_HOME=/opt/java
export PATH=$PATH:$JAVA_HOME/bin

Comprobamos que tenemos el paquete ssh y sshd en el servidor

Descarga

Nos descargamos el hadoop. Para ello vamos a esta página para descargarnos la versión estable actual.

En primer lugar me he bajado la versión estable en RPM para 64 bits. Me la he descargado en el directorio /opt/src. Después lo he instalado con rpm: rpm -i hadoop-1.0.3-1.x86_64.rpm

Configuración previa

Home de Java

Antes de arrancar nada, nada más instalar el rpm, editamos el fichero /etc/hadoop/hadoop-env.sh. Comprobamos que hace un export a la ubicación de java correcta (/opt/java)

Uso maximo de memoria java

Para cambiar el límite de memoria que puede usar el proceso java de hadoop hay que cambiar la variable de HADOOP_OPTS del fichero de configuración /etc/hadoop/hadoop-env.sh

export HADOOP_OPTS="-Djava.net.preferIPv4Stack=true -Xmx2048m $HADOOP_CLIENT_OPTS"

Si ejecutamos /usr/bin/hadoop, nos dará información de como arrancar el proceso de hadoop.

Configuración pseudo-distribuida

Segun la página de documentación de hadoop La configuración que hay que realizar para el modo de distribuido en un solo nodo es la siguiente: conf/core-site.xml:

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

conf/hdfs-site.xml:

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

conf/mapred-site.xml:

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

Configuración distribuida

(falta... lo guapo)

Instalación de PIG

La instalación de pig es muy sencilla en Centos. Nos hemos bajado la versión estable desde esta página como rpm en /opt/src/ y después lo hemos instalado con rpm -i pig-0.10.0-1.i386.rpm