С чего начать с распределенных вычислений?
Мне интересны методы обучения распределенных вычислений. Как разработчик Java, я, вероятно, согласен начать с Hadoop. Не могли бы вы порекомендовать некоторые книги/учебники/статьи для начала?
Ответы
Ответ 1
Возможно, вы можете сначала прочитать некоторые документы, связанные с MapReduce и распределенные вычисления, чтобы лучше понять это. Вот некоторые из них, которые я хотел бы рекомендовать:
С другой стороны, если вы хотите лучше знать Hadoop, возможно, вы можете начать читать исходный код рамки Hadoop MapReduce.
Ответ 2
В настоящее время в книжном порядке я проверю - Hadoop A Definitive Guide. Его написал Том Уайт, который уже давно работал над Hadoop, и работает в Cloudera с Дугом Реттингем (создателем Hadoop).
Также на бесплатной стороне Джимми Лин из UMD написал книгу под названием: Обработка данных с интенсивной обработкой текста с помощью MapReduce. Здесь ссылка на окончательную предварительную версию (ссылка предоставлена автором на его веб-сайте).
Ответ 3
Hadoop не всегда является лучшим инструментом для всех задач распределенных вычислений. Несмотря на свою силу, он также имеет довольно крутую кривую обучения и стоимость владения.
Вы можете уточнить свои требования и искать подходящие альтернативы в мире Java, такие как HTCondor, JPPF или GridGain (мои извинения тем, о которых я не упоминаю).
Ответ 4
Вот некоторые ресурсы Yahoo! Сеть разработчиков
учебник:
http://developer.yahoo.com/hadoop/tutorial/
вводный курс (требуется Siverlight, вздох):
http://yahoo.hosted.panopto.com/CourseCast/Viewer/Default.aspx?id=281cbf37-eed1-4715-b158-0474520014e6
Ответ 5
The All Things Hadoop Podcast http://allthingshadoop.com/podcast имеет хороший контент и хороших гостей. Многие из них направлены на то, чтобы начать работу с Distributed Computing.
Ответ 6
MIT 6.824 - лучший материал. Недостаточно читать только документы Google, связанные с Hadoop. Для углубленного изучения требуется систематическое изучение курса.
Ответ 7
Если вы хотите изучить распределенную вычислительную платформу, которая менее сложна, чем Hadoop, вы можете попробовать Zillabyte. Вам нужно только знать некоторые Ruby или Python для создания приложений на платформе.
Как сказал LoLo, Hadoop является мощным решением, но с самого начала он может быть груб.
Для получения информации о распределенных вычислениях попробуйте http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-824-distributed-computer-systems-engineering-spring-2006/syllabus/. Есть несколько ресурсов, рекомендованных курсом.