Ich interessiere mich für Lerntechniken für verteiltes Rechnen. Als Java-Entwickler bin ich wahrscheinlich bereit, mit zu beginnen. Könnten Sie bitte zu Beginn einige Bücher/Tutorials/Artikel empfehlen?Wo fange ich mit verteilter Datenverarbeitung an?
Antwort
Vielleicht können Sie zuerst etwas zu MapReduce und verteiltes Computing lesen, um es besser zu verstehen. Hier sind einige Ich mag würde empfehlen:
MapReduce: Vereinfachter Datenverarbeitung auf großen Clustern, http://www.usenix.org/events/osdi04/tech/full_papers/dean/dean_html/
Bigtable: A Distributed Storage System für strukturierte Daten, http://www.usenix.org/events/osdi06/tech/chang/chang_html/
Dryad: Verteilte Daten parallele Programme von sequentiellen Bausteinen, http://pdos.csail.mit.edu/6.824-2007/papers/isard-dryad.pdf
Die Landschaft der parallelen computi ng Forschung: Ein Blick von berkeley, http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.67.8705&rep=rep1&type=pdf
Auf der anderen Seite, wenn Sie sich besser von Hadoop wissen wollen, vielleicht können Sie Hadoop MapReduce Framework Quellcode zu lesen beginnen.
Hier sind einige Ressourcen von Yahoo! Developer Network
ein Tutorial:
http://developer.yahoo.com/hadoop/tutorial/
ein Einführungskurs (erfordert Siverlight, seufz):
Derzeit Bookwise würde ich auschecken - Hadoop A Definitive Guide. Es ist geschrieben von Tom White, der schon eine ganze Weile an Hadoop gearbeitet hat und arbeitet bei Cloudera mit Doug Cutting (Hadoop Creator).
Auch auf der freien Seite hat Jimmy Lin von UMD ein Buch geschrieben: Data-Intensive Text Processing with MapReduce. Hier ist ein Link zum letzten Pre-Production-Verison (Link vom Autor auf seiner website zur Verfügung gestellt).
Das All Things Hadoop Podcast http://allthingshadoop.com/podcast hat einige gute Inhalte und gute Gäste. Viele davon sind darauf ausgerichtet, mit Distributed Computing zu beginnen.
MIT 6.824 ist das beste Zeug. Nur das Lesen von Google-Papieren zu Hadoop reicht nicht aus. Ein systematisches Kurslernen ist erforderlich, wenn Sie tiefer gehen wollen.
Hadoop ist nicht unbedingt das beste Werkzeug für alle verteilten Computerprobleme. Trotz seiner Macht hat es auch eine ziemlich steile Lernkurve und Betriebskosten. Sie könnten Ihre Anforderungen klären und nach geeigneten Alternativen in der Java-Welt suchen, wie HTCondor, JPPF oder GridGain (ich entschuldige mich für die, die ich nicht erwähne).
Wenn Sie eine verteilte Computing-Plattform erlernen möchten, die weniger kompliziert ist als Hadoop, können Sie Zillabyte ausprobieren. Sie müssen nur etwas Ruby oder Python kennen, um Apps auf der Plattform zu erstellen.
Wie LoLo gesagt hat, ist Hadoop eine leistungsstarke Lösung, aber kann zu Beginn schwierig sein.
Wenn Sie mehr über verteilte Berechnungen erfahren möchten, versuchen Sie es mit http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-824-distributed-computer-systems-engineering-spring-2006/syllabus/. Es gibt mehrere Ressourcen, die vom Kurs empfohlen werden.
- 1. Virtualisierung & Cloud Computing - Wo fange ich an?
- 2. Wo fange ich mit FastCGI und C++ an?
- 3. Wo fange ich mit einem Web-Bot an?
- 4. Wo fange ich an, einen Linux-Input-Hack zu machen?
- 5. Wirklich einfacher Django E-Commerce? Wo fange ich an?
- 6. Erstellen eines Code-Generator in Ruby .. Wo fange ich an?
- 7. Wo fange ich an, über Bildverarbeitung und Objekterkennung zu lernen?
- 8. Wo fange ich an, diese Schieberegler zu codieren?
- 9. Lizenzen in C# entwickeln - wo fange ich an?
- 10. jXchange - Wie fange ich an?
- 11. Wie fange ich an VOIP Programmierung an?
- 12. Wie fange ich an, zu GNOME beizutragen?
- 13. Netbeans MPI C++ Wie fange ich an?
- 14. Wie fange ich an, neue Facebook-Webanwendung
- 15. Wie fange ich an, Websites mit Delphi Prism zu erstellen?
- 16. E-Bibliothek System .. Wie fange ich an?
- 17. Wie fange ich an, IOT zu lernen?
- 18. Wie fange ich mit Web-Service-Tests mit Jmeter an?
- 19. Wo fange ich an zu lernen, wie man pop3 und imap Protokolle mit C# benutzt?
- 20. Wo fange ich mit der Programmierung von VBA und Makros in Word 2007 an?
- 21. Wie fange ich an, Web-Apps mit Java zu erstellen?
- 22. Wie fange ich an: Komet-Programmierung mit Java
- 23. Wie fange ich mit Windows Kernel Programming an?
- 24. Wie fange ich an? Einfacher Texteditor mit C
- 25. Datenverarbeitung mit Multithreading-Java
- 26. Meine Anwendung ist nicht verwaltet. Wo fange ich an, verwalteten Code einzuführen?
- 27. Silverlight Entwickler möchte einige Designer-Chops gewinnen - wo fange ich an?
- 28. Datenverarbeitung mit fehlenden Zeitreihen Daten
- 29. Wie fange ich # {von Stringinterpolation
- 30. Wie fange ich Selenium Fehler mit WebDriverJS