Estoy interesado en aprender técnicas para computación distribuida. Como desarrollador de Java, probablemente esté dispuesto a comenzar con Hadoop. ¿Podría recomendar algunos libros/tutoriales/artículos para empezar?¿Por dónde empiezo con la informática distribuida?
Respuesta
Quizás pueda leer algunos documentos relacionados con MapReduce y la informática distribuida primero, para obtener una mejor comprensión de la misma. Éstos son algunos me gustaría recomendar:
MapReduce: Tratamiento de datos simplificado en los grandes grupos, http://www.usenix.org/events/osdi04/tech/full_papers/dean/dean_html/
Bigtable: Un sistema de almacenamiento distribuido de datos estructurados, http://www.usenix.org/events/osdi06/tech/chang/chang_html/
Dryad: Distribuido programas de datos paralelos de bloques de construcción secuenciales, http://pdos.csail.mit.edu/6.824-2007/papers/isard-dryad.pdf
El paisaje de computi paralelo ng investigación: Una visión desde Berkeley, http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.67.8705&rep=rep1&type=pdf
Por otro lado, si usted quiere saber más de Hadoop, tal vez usted puede comenzar a leer Hadoop MapReduce código fuente marco.
Estos son algunos recursos de Yahoo! Developer Network
un tutorial:
http://developer.yahoo.com/hadoop/tutorial/
un curso de introducción (requiere Siverlight, suspiro):
Actualmente, BookWise Me volvería a la salida - Hadoop A Definitive Guide. Está escrito por Tom White, que ha trabajado en Hadoop por un buen tiempo, y trabaja en Cloudera con Doug Cutting (creador de Hadoop).
También en el lado libre, Jimmy Lin de UMD ha escrito un libro llamado: Data-Intensive Text Processing with MapReduce. Aquí hay un enlace a la versión final de preproducción (enlace proporcionado por el autor en su website).
El podcast de All Things Hadoop http://allthingshadoop.com/podcast tiene un buen contenido y buenos invitados. Mucho de esto está orientado a comenzar con Computación distribuida.
MIT 6.824 es lo mejor. Solo leer documentos de Google relacionados con Hadoop no es suficiente. Se requiere un aprendizaje sistemático del curso si desea profundizar.
Hadoop no es necesariamente la mejor herramienta para todos los problemas de computación distribuida. A pesar de su poder, también tiene una curva de aprendizaje bastante empinada y un costo de propiedad. Es posible que desee aclarar sus requisitos y buscar alternativas adecuadas en el mundo de Java, como HTCondor, JPPF o GridGain (mis disculpas a los que no menciono).
Si está buscando aprender una plataforma informática distribuida que sea menos complicada que Hadoop, puede probar Zillabyte. Solo necesita saber algo de Ruby o Python para crear aplicaciones en la plataforma.
Como dijo LoLo, Hadoop es una solución poderosa, pero puede ser difícil para empezar.
Para obtener información sobre la informática distribuida, pruebe http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-824-distributed-computer-systems-engineering-spring-2006/syllabus/. Hay varios recursos recomendados por el curso también.
- 1. ¿Por dónde empiezo con rJava?
- 2. Informática distribuida de Javascript
- 3. ¿Por dónde comenzar con la informática distribuida/procesamiento en paralelo? (Python/C)
- 4. Más información sobre informática distribuida
- 5. Informática distribuida frente a subprocesos
- 6. ¿Por dónde empiezo con Zend Framework?
- 7. ¿Por dónde empiezo con un bot web?
- 8. ¿Por dónde empiezo con la Programación Orientada a Aspectos?
- 9. Aplicación web Clojure: ¿dónde empiezo?
- 10. ¿E-commerce de Django realmente básico? ¿Por dónde empiezo?
- 11. Programación de juegos en C, ¿dónde empiezo?
- 12. ¿Por dónde empiezo con la programación de VBA y macros en Word 2007?
- 13. Desarrollo de licencias en C#: ¿dónde empiezo?
- 14. distribuida ActiveMQ con Camel
- 15. ¿Por dónde empiezo a aprender sobre el procesamiento de imágenes y el reconocimiento de objetos?
- 16. Prevención de ataque de inyección SQL: dónde empiezo
- 17. ¿Por dónde empiezo a hacer un hack de entrada de Linux?
- 18. Característica de rendimiento de Ruby en relación con la informática
- 19. ¿Por dónde empiezo a investigar mi proceso de Java que no terminará?
- 20. ¿Cómo empiezo a aprender Assembly
- 21. ASP.NET MVC y patrón de vista modelo-controlador: ¿por dónde empiezo?
- 22. ¿Cómo empiezo con zc.buildout y Distribute?
- 23. Informática para personas mayores
- 24. ¿Cómo empiezo con Sub versión de trabajo + Delphi?
- 25. ¿Cómo empiezo a usar la programación multiproceso?
- 26. ¿Diferencia entre computación en la nube y computación distribuida?
- 27. Origen del "mapa" en Informática
- 28. variable de Informática Makefile en la asignación
- 29. ¿Por qué los números de Fibonacci son significativos en informática?
- 30. Física en Informática