我对学习分布式计算技术感兴趣。作为Java开发人员,我可能愿意从Hadoop开始。你能否首先推荐一些书籍/教程/文章?
答案 0 :(得分:9)
也许你可以先阅读一些与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框架源代码。
答案 1 :(得分:3)
目前,我会检查 - Hadoop A Definitive Guide。它由Tom White编写,他现在已经在Hadoop工作了一段时间,并且在Cloudera和Doug Cutting(Hadoop创建者)一起工作。
同样在免费方面,来自UMD的Jimmy Lin写了一本名为Data-Intensive Text Processing with MapReduce的书。这是最终预生产版本的链接(作者在website上提供的链接)。
答案 2 :(得分:2)
Hadoop不一定是解决所有分布式计算问题的最佳工具。尽管它具有强大的功能,但它的学习曲线和拥有成本也非常陡峭。 您可能希望澄清您的要求并在Java世界中寻找合适的替代方案,例如HTCondor,JPPF或GridGain(我向那些我未提及的人道歉)。
答案 3 :(得分:1)
答案 4 :(得分:1)
All Things Hadoop播客http://allthingshadoop.com/podcast有一些好的内容和好客人。其中很多都是为了开始使用Distributed Computing。
答案 5 :(得分:1)
MIT 6.824是最好的东西。只阅读与Hadoop相关的谷歌论文是不够的。如果你想深入了解,就需要进行系统的课程学习。
答案 6 :(得分:1)
如果您希望学习一个比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/。课程也推荐了几种资源。