分散コンピューティングの技術を学ぶことに興味があります。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/
ドライアド:シーケンシャルビルディングブロックからの分散データ並列プログラム、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について詳しく知りたい場合は、HadoopMapReduceフレームワークのソースコードを読み始めることができます。
現在、本のように私はチェックアウトします-Hadoop ADefinitiveGuide。これは、Hadoopに長い間取り組んできたTom Whiteによって書かれ、ClouderaでDoug Cutting(Hadoopクリエーター)と共に働いています。
また、自由な面として、UMDのJimmy Linは、「 MapReduceを使用したデータ集約型テキスト処理」という本を書いています。これが最終的なプリプロダクションバージョンへのリンクです(作者が彼のウェブサイトで提供したリンク)。
Hadoopは、必ずしもすべての分散コンピューティングの問題に最適なツールではありません。その力にもかかわらず、それはまたかなり急な学習曲線と所有コストを持っています。要件を明確にし、 HTCondor 、 JPPF、GridGainなどのJavaの世界で適切な代替手段を探すことをお勧めします(私が言及していないものについてはお詫びします)。
こちらがYahoo!のリソースです。開発者ネットワーク
チュートリアル:
http://developer.yahoo.com/hadoop/tutorial/
入門コース(Siverlightが必要、ため息):
All ThingsHadoopポッドキャストhttp://allthingshadoop.com/podcastには、優れたコンテンツと優れたゲストがいます。その多くは、分散コンピューティングを開始することを目的としています。
MIT6.824は最高のものです。Hadoopに関連するGoogleの論文を読むだけでは十分ではありません。さらに深く学びたい場合は、体系的なコース学習が必要です。
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/を試してください。コースで推奨されているリソースもいくつかあります。