我对学习分布式计算技术很感兴趣。作为一名 Java 开发人员,我可能愿意从Hadoop入手。您能否推荐一些书籍/教程/文章开始?
7 回答
也许您可以先阅读一些与 MapReduce 和分布式计算相关的论文,以更好地了解它。这里有一些我想推荐的:
MapReduce:大型集群上的简化数据处理,http://www.usenix.org/events/osdi04/tech/full_papers/dean/dean_html/
Bigtable:结构化数据的分布式存储系统,http://www.usenix.org/events/osdi06/tech/chang/chang_html/
Dryad:来自顺序构建块的分布式数据并行程序, http: //pdos.csail.mit.edu/6.824-2007/papers/isard-dryad.pdf
并行计算研究的前景:来自伯克利的观点,http ://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.67.8705&rep=rep1&type=pdf
另一方面,如果您想更好地了解 Hadoop,也许您可以开始阅读 Hadoop MapReduce 框架源代码。
目前,在书本上我会查看 - Hadoop A Definitive Guide。它的作者是 Tom White,他已经在 Hadoop 上工作了很长时间,并在 Cloudera 与 Doug Cutting(Hadoop 创建者)一起工作。
同样在免费方面,UMD 的 Jimmy Lin 写了一本书,名为:Data-Intensive Text Processing with MapReduce。这是最终预生产版本的链接(作者在其网站上提供的链接)。
MIT 6.824是最好的东西。只阅读与 Hadoop 相关的 google 论文是不够的。如果您想更深入,则需要系统的课程学习。
All Things Hadoop Podcast http://allthingshadoop.com/podcast有一些很好的内容和很好的嘉宾。其中很多都是为开始使用分布式计算而设计的。
如果你想学习一个比 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/。该课程还推荐了几种资源。