Hadoop Logo

Hadoop es un framework para computación distribuida que soporta aplicaciones con uso intensivo de datos. Implementa, entre otras cosas, el paradigma MapReduce y HDFS, un sistema de archivos distribuido y el principal sistema de almacenamiento en Hadoop.

En esta primera aproximación probaré la instalación y ejecución de Hadoop, haciendo un resumen de los pasos necesarios, traduciéndolos, y comentarios al margen frente a la documentación.

Los prerrequisitos de Hadoop son Java 1.6, ssh server y rsync, en Windows será necesario también Cygwin. Para éstas pruebas usaré una máquina virtual con Debian 5.0.5, Java 1.6.0_20, openssh 5.1p1.

La instalación de Hadoop se reduce a descargar la versión estable y descomprimirlo:

wget http://apache.mirrors.tds.net//hadoop/core/stable/hadoop-0.20.2.tar.gz
tar -xvf hadoop-0.20.2.tar.gz
Ahora, entrando a la carpeta que se descomprimió, se edita conf/hadoop-env.sh definiendo la variable JAVA_HOME con la ubicación de la instalación de java, en teoría funcionaría si la variable JAVA_HOME está definida en el entorno, pero es mejor definirla en el archivo para facilitar la distribución. A continuación se puede ejecutar el comando:
bin/hadoop
Para ver  la documentación de uso.
Existen 3 configuraciones posibles de Hadoop: Standalone, pseudo-distribuida y distribuida. La configuración predeterminada es Standalone, no distribuida y un solo proceso de java, útil para depuración según la documentación. Con ésta instalación se puede ejecutar el primer ejemplo de Hadoop, un grep basado en MapReduce:
$ mkdir input
$ cp conf/*.xml input
$ bin/hadoop jar hadoop-*-examples.jar grep input output 'dfs[a-z.]+'
$ cat output/*

La salida crea dos archivos: part-0000 con la respuesta y .part-0000.crc con el CRC checksum.

Para ejecutar Hadoop en el modo Pseudo-distribuido, varios nodos en una máquina en procesos java diferentes, debemos modificar los archivos conf/core-site.xml, conf/hdfs-site.xml y conf/mapred-site.xml así:

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>

En el ambiente de pruebas funciona ssh a localhost sin contraseña, sin embargo esto puede no ser cierto en todos los ambientes. En el manual de Hadoop describen la forma configurarlo para ese caso. Esto sólo es necesario si no se puede hacer ssh a localhost sin contraseña:

$ ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa

$ cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys

Ahora podemos ejecutar hadoop, primero creando un nuevo sistema de archivo distribuido, para luego ejecutar los nodos

$ bin/hadoop namenode -format
$ bin/start-all.sh

Ahora podemos acceder a la interfaz web del Job Tracker y del Namenode en el puerto 50030 y 50070 respectivamente.

Ahora ejecutaremos el ejemplo con el que probamos el Singlenode, para lo cual necesitamos copiar los archivos de entrada al sistema de archivos distribuido, en el cual también se crearán los archivos de salida, para hacer visibles las diferencias entre los dos modos se pueden borrar las carpetas input y output creadas anteriormente. Para ejecutar el ejemplo hacemos:

$ rm -rf input output

$ bin/hadoop fs -put conf input

$ bin/hadoop jar hadoop-*-examples.jar grep input output 'dfs[a-z.]+'

Ahora los archivos de salida están en el sistema de archivos distribuido, para traerlos ejecutamos:

$ bin/hadoop fs -get output output
$ cat output/*

o podemos ver el resultado directamente en el sistema de archivos distribuido:

bin/hadoop fs -cat output/*

Cuando terminamos podemos detener los nodos ejecutando:

$ bin/stop-all.sh

La salida incluye además de la respuesta los logs de la ejecución.

En un próximo post revisaremos la configuración de Hadoop en modo distribuido en un Cluster de máquinas.

Hadoop Logo

 

Los recomendados de la semana, en el inicio de la “semana de receso” de la universidad, que va a estar llena de trabajo (aunque en un tema interesante….).

Eso es todo por el momento, los dejo con el recomendado musical de la semana:

Francisca Valenzuela

“La amistad es un alma que habita en dos cuerpos; un corazón que habita en dos almas.” Aristóteles

Cada persona que pasa por tu vida te deja algo de sí. Pero aún más que las que pasan, las personas que permanecen, sea físicamente o no, hacen parte de ti… te hacen ser quien eres.

Los momentos que pasamos juntos, las confidencias, la risa, las peleas… todo hace parte de mi, ha formado lo que soy ahora. Gracias por compartir momentos de tu vida conmigo y quiero que éste día en el que cumples un año más de vida recuerdes que siempre contarás con mi amistad y con mi apoyo cuando lo necesites.

Lovers Go Home

Mario Benedetti.

Ahora que empecé el día
volviendo a tu mirada,
y me encontraste bien
y te encontré más linda.

Ahora que por fin
está bastante claro
dónde estás y dónde estoy.

Sé por primera vez
que tendré fuerzas
para construir contigo
una amistad tan piola,
que del vecino
territorio del amor,
ese desesperado,
empezarán a mirarnos
con envidia,
y acabarán organizando
excursiones
para venir a preguntarnos
cómo hicimos.


Este post es dedicado a una persona muy especial que cumple años hoy.


Un poco tarde, debido a estar en la semana 7 del semestre, llegan los recomendados de la semana:

Quedan algunas recomendaciones en el tintero, pero será para la próxima edición de los recomendados. Hasta una próxima ocasión.

Los recomendados de esta semana demuestran, una vez más, la diversidad de los contenidos en Internet :P.

Eso es todo por esta edición de recomendados, como “ñapa” les dejo una tira de xkcd.

“A veces, cuando la gente se va, se apodera de mí un miedo repentino de que mueran mientras están afuera, y nunca olvidaría la última cosa que les dije”

El Kindle siempre me pareció un dispositivo interesante, pero con la llegada de la tercera generación del dispositivo se volvió irresistible. Las características que me impulsaron a querer el dispositivo, frente a lo que ofrecían las versiones anteriores, son:

  • El poder recibir los documentos personales a través de WiFi, sin los cargos extra derivados del uso de la red 3G, enviándolos a la cuenta de correo @free.kindle.com del dispositivo.  Poder recibirlos aún si no hay una conexión WiFi disponible, a través de la red 3G, aunque me parece algo caro, $0.99USD por MB (o $0.15USD en Estados Unidos)
  • Soporte de diferentes tipos de archivo, AZW, mobi, pdf, txt y conversión automática de otros archivos a estos formatos, aunque se echa de menos tener soporte del formato estándar ePub.
  • Navegador experimental, basado en WebKit, que permite acceder a la web completa (usando la conexión WiFi) entre otras cosas… a Google Reader.
  • Duración de la batería hasta de 1 mes, con la conexión inalámbrica desactivada, o 11 horas con la conexión activada.
  • Poder transmitir datos directamente desde el PC usando el cable USB.

 

 

 

 

 

 

 

 

 

 

 

 

Después de estar jugando un poco con el dispositivo hay algunas características que me han enganchado aún más:

  • La sensación es aún mejor de lo que esperaba. La pantalla tiene muy buen contraste se siente como leer en papel, y el peso del dispositivo ayuda a dar esa impresión.
  • El poder cambiar el tamaño de la letra, la orientación de la pantalla, el espaciado entre líneas, palabras por línea y la fuente, permite mejorar la experiencia, aunque es una lástima que algunas de éstas opciones no están disponibles en los documentos PDF.
  • La integración con el diccionario de Oxford, facilita mucho la lectura, teniendo en cuenta que un gran porcentaje de los libros  y artículos que leo están en ingles. Además desde el libro se puede buscar tanto dentro del documento como del diccionario, Wikipedia, Google, Amazon Kindle Store y los ítems dentro del dispositivo.
  • Permite crear colecciones, para agrupar los documentos.
  • La kindle store es muy fácil de usar.
  • Text-to-speach que funciona muy bien con documentos en ingles.
  • Permite guardar notas y resaltar los libros. Muy útil cuando se está haciendo una bibliografía anotada. Además se guarda una copia en el archivo de texto “My Clippings”, donde están disponibles para usarlos cuando se conecta el PC.
  • Integración con Twitter y Facebook. Permite compartir muy fácilmente las notas o los textos resaltados.

No todo puede ser bueno, pero en general estoy muy satisfecho con el Kindle. Dentro de los puntos débiles está la falta de soporte de ePub y que el servicio de conversión no funcione con éste tipo de archivos, aunque para sobrellevarlo está Calibre, un organizador de ebooks que permite la conversión entre diferentes formatos.

Enlace (Galería de los usuarios del kindle)

Actualización 03/10/10: Para probar el programa de asociados de Amazon cambié el enlace de la página del dispositivo añadiéndole el código de referido. 😛

Los recomendados de ésta semana, en un pequeño descanso gracias a la red de la universidad :P.
  • Después de cinco días de usar Priority Inbox en Gmail, aún me parece que necesita aprender. Usar filtros y poder marcar los mensajes como importantes o no importantes es una buena forma de ayudarlo a mejorar, por lo pronto yo uso por defecto el inbox tradicional, y le permito sobrescribir los filtros, y cambié la acción de algunos filtros para que no marquen los mensajes como importantes(p.e.  los de publicidad).  En el blog oficial de Google nos comentan está y otras nuevas funcionalidades en sus  aplicaciones.

Para terminar, una de las charlas del TED2009, “Elizabeth Gilbert on nurturing creativity“:

Aunque más que semanales parezcan semestrales… dejo algunas cosillas interesantes por el momento.

Esto es todo por el momento, espero que los próximos recomendados lleguen con mayor frecuencia. Les dejo una pequeña dosis de Montt, en honor de los mineros de Chile.

Montt en dosis diarias. Mineros.

Qué harías si pudieras volver a vivir algún momento…. sabiendo lo que sabes ahora?

Lo que somos hoy es el fruto de todos los momentos que vivimos, y decisiones que tomamos.

Tiendo a pensar mucho cada cosa que hago, creo que de tener la oportunidad trataría de disfrutar más el momento, actuar sin pensar en las consecuencias, no callar lo que sentía y demostrarlo. La vida me ha dado la oportunidad de conocer personas muy especiales, me habría gustado que supieran lo que han significado.

Mario Benedetti (Imagen de dominio público)

Hace ya un año que no estás físicamente con nosotros, sin embargo tu presencia nos acompaña, tu inmortalidad reside en cada uno de tus cuentos, novelas,  poemas, en cada uno de tus versos, en cada palabra.

PASATIEMPO

Cuando éramos niños
los viejos tenían como treinta
un charco era un océano
la muerte lisa y llana
no existía

cuando muchachos
los viejos eran gente de cuarenta
un estanque era océano
la muerte solamente
una palabra

ya cuando nos casamos
los ancianos estaban en cincuenta
un lago era un océano
la muerte era la muerte
de los otros

ahora veterano
ya le dimos alcance a la verdad
el océano es por fin el océano
pero la muerte empieza a ser
la nuestra

Mario Benedetti
Los inmortales y la muerte , Viento del exilio