Desarrollo de un entorno basado en MapReduce para la ejecución distribuida de algoritmos genéticos paralelos
almoreno25 de Febrero de 2013
5.688 Palabras (23 Páginas)746 Visitas
UNIVERSIDADE DA CORUÑA
FACULTAD DE INFORMÁTICA
Departamento de Electrónica y Sistemas
PROYECTO FIN DE CARRERA DE INGENIERÍA
INFORMÁTICA
Desarrollo de un entorno basado en
MapReduce para la ejecución distribuida
de algoritmos genéticos paralelos
-.Consideraciones técnicas.-
Autor: Alberto Luengo Cabanillas
Directores: Xoán Carlos Pardo Martínez
Patricia González Gómez
A Coruña, 21 de Septiembre de 2010
Índice general I
Índice general
CONSIDERACIONES TÉCNICAS ____________________________________________________1
1. INSTALACIÓN DEL SOFTWARE ____________________________________________________1
1.1 Prerrequisitos ____________________________________________________________1
1.2 Cygwin__________________________________________________________________1
1.3 Entorno virtualizado con Hadoop _____________________________________________2
1.4 Instalando VMWare Player __________________________________________________3
1.4.1 Configurando el Entorno Virtual ____________________________________________________ 4
1.4.2 Cuentas de usuario de la máquina virtual ______________________________________________ 5
1.4.3 Ejecutando un trabajo Hadoop ______________________________________________________ 5
1.4.5 Accediendo a la máquina virtual mediante ssh__________________________________________ 6
1.4.6 Apagando la máquina virtual _______________________________________________________ 7
1.5 Preparando Eclipse ________________________________________________________7
1.5.1 Descarga e instalación ____________________________________________________________ 7
1.5.2 Instalación del plugin Hadoop MapReduce ____________________________________________ 8
1.5.3 Haciendo una copia de Hadoop _____________________________________________________ 8
1.5.4 Ejecutando Eclipse _______________________________________________________________ 8
1.5.5 Configurando el plugin Hadoop MapReduce ___________________________________________ 9
1.6 PigPen: Plugin de Pig Latin para Eclipse______________________________________11
1.7 Interactuando con el HDFS_________________________________________________12
1.7.1 Usando la línea de comandos ______________________________________________________ 12
1.7.2 Usando el plugin MapReduce para Eclipse ___________________________________________ 13
1.8 Lanzando un programa de prueba____________________________________________13
1.8.1 Creación del Proyecto____________________________________________________________ 14
1.8.2 Creación de los archivos fuente ____________________________________________________ 14
1.8.3 Lanzando el trabajo contra el HDFS_________________________________________________ 15
2. MANUAL DE USUARIO DEL PROYECTOMRPGA _____________________________________19
3. MANUAL DE PROGRAMADOR DEL PROYECTOMRPGA ________________________________23
Índice de capturas III
Índice de capturas
CAPTURA 1:MÁQUINAWINDOWS VIRTUALIZANDO MÁQUINA LINUX........................................................3
CAPTURA 2: INSTALACIÓN VMWARE PLAYER .........................................................................................4
CAPTURA 3: LISTADO DE SERVIDORESMAPREDUCE EN ECLIPSE 3.5........................................................10
CAPTURA 4: PLUGINS DE PIG Y HADOOP INSTALADOS EN ECLIPSE 3.5 .....................................................12
CAPTURA 5: CÓDIGO JAVA CLASEWORDCOUNTMAPPER .......................................................................16
CAPTURA 6: CÓDIGO JAVA CLASEWORDCOUNTREDUCER......................................................................17
CAPTURA 7: CÓDIGO JAVA CLASEWORDCOUNT ....................................................................................18
CAPTURA 8: RESULTADO EJECUCIÓN TRABAJOMRWORDCOUNT...........................................................19
CAPTURA 9:MENÚ JAVA BUILD PATH EN ECLIPSE 3.5............................................................................20
CAPTURA 10: EDICIÓN DE PARÁMETROS DE LA APLICACIÓN EN ECLIPSE 3.5 ............................................21
CAPTURA 11: RESULTADOS DE EJECUCIÓN DEL PROYECTOMRPGA EN ECLIPSE 3.5................................22
Consideraciones Técnicas Página | 1
Consideraciones Técnicas
A lo largo de este documento se abarcarán las cuestiones más técnicas del
desarrollo del sistema, desde su configuración e instalación hasta su ejecución y uso. En
la primera sección se procede a desarrollar un breve tutorial con los pasos necesarios
para configurar el entorno adecuado de ejecución para la aplicación. En la sección 2 se
incluye un manual de usuario en el que se explica la manera de ejecutar un AG
determinado en el framework que se ha implementado y por último, en la tercera
sección se incluye un breve manual para el programador que desee modificar alguna de
las decisiones de implementación llevadas a cabo (p.ej. diferente operador de cruce o
selección, diferente codificación de la población, etc.).
1. Instalación del Software
A continuación se detallan los pasos seguidos para poder replicar el entorno en
el que se ha desarrollado la aplicación.
1.1 Prerrequisitos
Desarrollar programas para Hadoop requiere un entorno de programación Java.
Se puede descargar un kit de desarrollo Java (JDK) (desde
http://java.sun.com/javase/downloads/index.jsp) para una multitud de sistemas
operativos. Hadoop requiere la versión 6 de Java Standard Edition (Java SE) que es la
más actual a la hora de escribir estas líneas.
1.2 Cygwin
Para poder conectarse a la máquina virtual sobre la que está montada nuestra
distribución de Hadoop es necesario tener un nombre de usuario conforme a alguno de
los existentes en la máquina virtual. Dicha comprobación la realiza el plugin conector
de Eclipse cuando necesite conectarse al HDFS remoto, mediante el valor que devuelve
el comando Unix whoami. Dicho comando no es nativo de Windows, por lo que se
vuelve necesario tener un entorno Unix dentro de Windows desde el que lanzar Eclipse
para que se comporte correctamente.
Página | 2 Consideraciones Técnicas
La solución más sencilla pasa por descargar e instalar Cygwin
(http://www.cygwin.com/) a la máquina local. Este proceso es sumamente sencillo: solo
hace falta descargar el instalador setup.exe de su página web y ejecutarlo para que
se inicie el asistente que guiará al usuario durante todo el proceso de instalación.
Hadoop funciona razonablemente bien en Cygwin, pero, oficialmente, es solo
para propósitos de investigación. Hadoop en Cygwin puede ser inestable, e instalar el
propio Cygwin puede resultar incómodo ya que no posee un asistente de instalación al
uso.
1.3 Entorno virtualizado con Hadoop
Esta sección explica cómo configurar una máquina virtual que ejecute Hadoop
dentro del ordenador anfitrión.
Los usuarios de Linux, MacOS, u otros entornos de estilo Unix son capaces de
instalar Hadoop y ejecutarlo en una o más máquinas sin necesidad de más software a
mayores que Java. Si el lector está interesado en esta opción, existen instrucciones
disponibles en la página web de Hadoop en la sección de quickstart documentation
(http://hadoop.apache.org/common/docs/r0.20.1/quickstart.html).
Para facilitar la primera aproximación a Hadoop a los programadores, es
interesante contar con una imagen de una máquina virtual que traiga una distribución de
Hadoop preconfigurada. La imagen virtual se ejecutará dentro de un entorno sandbox
en el que se podrá ejecutar otro sistema operativo. El SO dentro del sandbox no sabe
que existe otro entorno operativo exterior a él; actúa como si estuviese en su propio
ordenador. Este entorno sandbox es conocido como “máquina cliente”, ejecutando un
sistema operativo cliente. La máquina física que ejecuta el software de virtualización se
llama “máquina anfitrión” y ejecuta el sistema operativo anfitrión. La máquina virtual
facilita otras aplicaciones de tal forma que simula que existe otra máquina física en la
misma red. Las aplicaciones que se ejecutan en la máquina anfitrión ven la máquina
virtual como una máquina aparte con su propia dirección IP, y pueden interactuar con
los programas dentro de la máquina virtual de esta forma (véase Captura 1).
Para finalizar, comentar que la máquina virtual también se puede ejecutar siendo
Linux el sistema anfitrión, con las mismas características de conexión que en el caso
anterior.
Instalación del Software Página | 3
Captura 1: MáquinaWindows virtualizando máquina Linux
1.4 Instalando VMWare Player
La máquina virtual descargada en el apartado anterior está diseñada para
ejecutarse en VMWare Player (http://www.vmware.com). Se pueden descargar copias
del instalador de VMWare Player tanto para Linux en formato rpm, bundle o para
Windows. En particular en el caso de Windows, se ejecuta como un asistente de
instalación cualquiera.
...