SlideShare uma empresa Scribd logo
1 de 48
Baixar para ler offline
Verteiltes Verarbeiten von riesigen
Datenmengen mittels Hadoop

Thomas Steur I 19. August 2010




                                      © Mayflower GmbH 2010
Mayflower GmbH I 2
Nachteile von
zum Beispiel
  RDBMS


                Mayflower GmbH I 3
teuer




        Mayflower GmbH I 4
skalieren




            Mayflower GmbH I 5
Mayflower GmbH I 6
Hä?




      Mayflower GmbH I 7
läuft auf
handelsüblichen
  Computern


                  Mayflower GmbH I 8
skaliert




           Mayflower GmbH I 9
verarbeitet große
 Datenmengen...

 … sehr große
 Datenmengen
                    Mayflower GmbH I 10
skaliert sehr gut

Verarbeiten von riesigen
    Datenmengen

      redundant
                        Mayflower GmbH I 11
Cluster




          Mayflower GmbH I 12
Nicht geeignet für ...




                         Mayflower GmbH I 13
Amazon
Facebook
 Google
  Twitter
 Yahoo!
    ...
            Mayflower GmbH I 14
Mayflower GmbH I 15
36 PB == 479 Jahre HDTV



                    Mayflower GmbH I 16
weitere ~90 TB pro Tag



                     Mayflower GmbH I 17
2.250 Nodes

> 23.000 Cores


                 Mayflower GmbH I 18
Mayflower GmbH I 19
38.000 Nodes

      ~ 20 Cluster

12 TB Speicher pro Node

                     Mayflower GmbH I 20
600 Mio
Page Impressions täglich



                      Mayflower GmbH I 21
Und ich?



           Mayflower GmbH I 22
Und wie?



           Mayflower GmbH I 23
HDFS
(Hadoop Distributed File System)




                               Mayflower GmbH I 24
teilt eine Datei
in viele Chunks



                    Mayflower GmbH I 25
64

     Mayflower GmbH I 26
3

    Mayflower GmbH I 27
write once
     -
read often


             Mayflower GmbH I 28
Titel im Bild eintragen,
   allerdings nur wenn
   möglich!!!




23.09.2010                Mayflower GmbH              29

                                           © Mayflower GmbH 2010
MapReduce




            Mayflower GmbH I 30
nur 2 Methoden



                 Mayflower GmbH I 31
23.09.2010   Mayflower GmbH              32

                              © Mayflower GmbH 2010
function map ($filename, $content) {
     foreach (explode('', $content) as $word) {
          collect($word, 1);
     }
}

function reduce($word, $values) {
     $numWordCount = 0;

    foreach ($values as $value) {
         $numWordCount += $value;
    }

    collect($word, $numWordCount);
}




                                           Mayflower GmbH I 33
Titel im Bild
  eintragen,
allerdings nur
     wenn
  möglich!!!
 Name des Referenten
   Xx. Februar 2010



                       Mayflower GmbH I 34
Titel im Bild eintragen,
   allerdings nur wenn
   möglich!!!

   Name des Referenten
   Xx. Februar 2010

23.09.2010                Mayflower GmbH              35

                                           © Mayflower GmbH 2010
Fehler?




          Mayflower GmbH I 36
ein JobTracker

viele TaskTracker


                    Mayflower GmbH I 37
PHP + hadoop




               Mayflower GmbH I 38
Hadoop Streaming




                   Mayflower GmbH I 39
bin/hadoop jar
contrib/hadoop-
streaming.jar -mapper
/home/user/mapper.php -
reducer
/home/user/reducer.php -
input php5-logs/* -
output php5-log


                       Mayflower GmbH I 40
Hive




       Mayflower GmbH I 41
HBase




        Mayflower GmbH I 42
Pig




      Mayflower GmbH I 43
skaliert

verarbeiten von riesigen
     Datenmengen

      redundant
                      Mayflower GmbH I 44
Fragen?




          Mayflower GmbH I 45
Links



I       Blog Eintrag über Hadoop http://blog.mayflower.de/archives/562-
        An-introduction-to-Hadoop.html
I       HDFS
        http://hadoop.apache.org/common/docs/current/hdfs_design.html
I       Hadoop MapReduce Tutorial inklusive Beispiel
        http://hadoop.apache.org/common/docs/current/mapred_tutorial.
        html
I       Hadoop
        Streaminghttp://hadoop.apache.org/common/docs/r0.15.2/strea
        ming.html
I       Hadoop Tutorial
        http://developer.yahoo.com/hadoop/tutorial/


                                                                  Mayflower GmbH I 46
Bilder



I   http://www.flickr.com/photos/nathangibbs/536698819/
I   http://www.flickr.com/photos/jamiehuskisson/58952678/
I   http://developer.yahoo.com/hadoop/




                                                       Mayflower GmbH I 47
Vielen Dank für Ihre Aufmerksamkeit!




      Referent   Thomas Steur
                 thomas.steur@mayflower.de
                 +49 931 35965 1155


                 Mayflower GmbH
                 Pleichertorstr. 2
                 97070 Würzburg

23.09.2010                             Mayflower GmbH   48

Mais conteúdo relacionado

Destaque

New World of Metadata: Growing, Shifting, Merging
New World of Metadata: Growing, Shifting, MergingNew World of Metadata: Growing, Shifting, Merging
New World of Metadata: Growing, Shifting, MergingDiane Hillmann
 
Drupal 6: Aufbau/API/Best practices
Drupal 6: Aufbau/API/Best practicesDrupal 6: Aufbau/API/Best practices
Drupal 6: Aufbau/API/Best practicesMayflower GmbH
 
iPhone Apps with HTML5
iPhone Apps with HTML5iPhone Apps with HTML5
iPhone Apps with HTML5Mayflower GmbH
 
POX to HATEOAS: Our Company's Journey Building a Hypermedia API
POX to HATEOAS: Our Company's Journey Building a Hypermedia APIPOX to HATEOAS: Our Company's Journey Building a Hypermedia API
POX to HATEOAS: Our Company's Journey Building a Hypermedia APILuke Stokes
 
Fast & Furious: Speed in the Opera browser
Fast & Furious: Speed in the Opera browserFast & Furious: Speed in the Opera browser
Fast & Furious: Speed in the Opera browserAndreas Bovens
 
Mit Maintenance umgehen können- Fixt du noch Bugs oder lieferst du schon neue...
Mit Maintenance umgehen können- Fixt du noch Bugs oder lieferst du schon neue...Mit Maintenance umgehen können- Fixt du noch Bugs oder lieferst du schon neue...
Mit Maintenance umgehen können- Fixt du noch Bugs oder lieferst du schon neue...Mayflower GmbH
 

Destaque (10)

New World of Metadata: Growing, Shifting, Merging
New World of Metadata: Growing, Shifting, MergingNew World of Metadata: Growing, Shifting, Merging
New World of Metadata: Growing, Shifting, Merging
 
A Lucky Bear
A Lucky BearA Lucky Bear
A Lucky Bear
 
Javascript Ttesting
Javascript TtestingJavascript Ttesting
Javascript Ttesting
 
Drupal 6: Aufbau/API/Best practices
Drupal 6: Aufbau/API/Best practicesDrupal 6: Aufbau/API/Best practices
Drupal 6: Aufbau/API/Best practices
 
iPhone Apps with HTML5
iPhone Apps with HTML5iPhone Apps with HTML5
iPhone Apps with HTML5
 
POX to HATEOAS: Our Company's Journey Building a Hypermedia API
POX to HATEOAS: Our Company's Journey Building a Hypermedia APIPOX to HATEOAS: Our Company's Journey Building a Hypermedia API
POX to HATEOAS: Our Company's Journey Building a Hypermedia API
 
PaaSing Your Code Around
PaaSing Your Code AroundPaaSing Your Code Around
PaaSing Your Code Around
 
Why and what is go
Why and what is goWhy and what is go
Why and what is go
 
Fast & Furious: Speed in the Opera browser
Fast & Furious: Speed in the Opera browserFast & Furious: Speed in the Opera browser
Fast & Furious: Speed in the Opera browser
 
Mit Maintenance umgehen können- Fixt du noch Bugs oder lieferst du schon neue...
Mit Maintenance umgehen können- Fixt du noch Bugs oder lieferst du schon neue...Mit Maintenance umgehen können- Fixt du noch Bugs oder lieferst du schon neue...
Mit Maintenance umgehen können- Fixt du noch Bugs oder lieferst du schon neue...
 

Semelhante a Verteiltes Verarbeiten von riesigen Datenmengen mittels Hadoop

Responsive Webdesign: Fiese Fallstricke und sexy Strategien
Responsive Webdesign: Fiese Fallstricke und sexy StrategienResponsive Webdesign: Fiese Fallstricke und sexy Strategien
Responsive Webdesign: Fiese Fallstricke und sexy StrategienJohannes Weber
 
Mobile Anwendungsentwicklung mit Webtechnologien
Mobile Anwendungsentwicklung mit WebtechnologienMobile Anwendungsentwicklung mit Webtechnologien
Mobile Anwendungsentwicklung mit WebtechnologienMayflower GmbH
 
Javascript debugging logging
Javascript debugging loggingJavascript debugging logging
Javascript debugging loggingMayflower GmbH
 
FastCGI Process Manager
FastCGI Process ManagerFastCGI Process Manager
FastCGI Process ManagerMayflower GmbH
 
Shell Fu for Developers
Shell Fu for DevelopersShell Fu for Developers
Shell Fu for DevelopersMayflower GmbH
 
PHP Dependency und Paket Management mit Composer
PHP Dependency und Paket Management mit ComposerPHP Dependency und Paket Management mit Composer
PHP Dependency und Paket Management mit ComposerMayflower GmbH
 
DevOps für PHP (und andere)
DevOps für PHP (und andere)DevOps für PHP (und andere)
DevOps für PHP (und andere)Mayflower GmbH
 
JS Best Practises Debugging und Logging
JS Best Practises Debugging und LoggingJS Best Practises Debugging und Logging
JS Best Practises Debugging und LoggingMayflower GmbH
 
Html5 workshop Peter Voringer
Html5 workshop   Peter VoringerHtml5 workshop   Peter Voringer
Html5 workshop Peter VoringerMayflower GmbH
 

Semelhante a Verteiltes Verarbeiten von riesigen Datenmengen mittels Hadoop (13)

Backbone.js
Backbone.jsBackbone.js
Backbone.js
 
BDD
BDDBDD
BDD
 
Responsive Webdesign: Fiese Fallstricke und sexy Strategien
Responsive Webdesign: Fiese Fallstricke und sexy StrategienResponsive Webdesign: Fiese Fallstricke und sexy Strategien
Responsive Webdesign: Fiese Fallstricke und sexy Strategien
 
Mobile Anwendungsentwicklung mit Webtechnologien
Mobile Anwendungsentwicklung mit WebtechnologienMobile Anwendungsentwicklung mit Webtechnologien
Mobile Anwendungsentwicklung mit Webtechnologien
 
Javascript debugging logging
Javascript debugging loggingJavascript debugging logging
Javascript debugging logging
 
FastCGI Process Manager
FastCGI Process ManagerFastCGI Process Manager
FastCGI Process Manager
 
Shell Fu for Developers
Shell Fu for DevelopersShell Fu for Developers
Shell Fu for Developers
 
PHP Dependency und Paket Management mit Composer
PHP Dependency und Paket Management mit ComposerPHP Dependency und Paket Management mit Composer
PHP Dependency und Paket Management mit Composer
 
DevOps für PHP (und andere)
DevOps für PHP (und andere)DevOps für PHP (und andere)
DevOps für PHP (und andere)
 
Dev ops für php talk
Dev ops für php talkDev ops für php talk
Dev ops für php talk
 
JS Best Practises Debugging und Logging
JS Best Practises Debugging und LoggingJS Best Practises Debugging und Logging
JS Best Practises Debugging und Logging
 
Html5 workshop Peter Voringer
Html5 workshop   Peter VoringerHtml5 workshop   Peter Voringer
Html5 workshop Peter Voringer
 
Dev ops für php
Dev ops für phpDev ops für php
Dev ops für php
 

Mais de Mayflower GmbH

JavaScript Days 2015: Security
JavaScript Days 2015: SecurityJavaScript Days 2015: Security
JavaScript Days 2015: SecurityMayflower GmbH
 
Vom Entwickler zur Führungskraft
Vom Entwickler zur FührungskraftVom Entwickler zur Führungskraft
Vom Entwickler zur FührungskraftMayflower GmbH
 
Salt and pepper — native code in the browser Browser using Google native Client
Salt and pepper — native code in the browser Browser using Google native ClientSalt and pepper — native code in the browser Browser using Google native Client
Salt and pepper — native code in the browser Browser using Google native ClientMayflower GmbH
 
Plugging holes — javascript memory leak debugging
Plugging holes — javascript memory leak debuggingPlugging holes — javascript memory leak debugging
Plugging holes — javascript memory leak debuggingMayflower GmbH
 
50 mal produktiver - oder warum ich gute Teams brauche und nicht gute Entwick...
50 mal produktiver - oder warum ich gute Teams brauche und nicht gute Entwick...50 mal produktiver - oder warum ich gute Teams brauche und nicht gute Entwick...
50 mal produktiver - oder warum ich gute Teams brauche und nicht gute Entwick...Mayflower GmbH
 
Native Cross-Platform-Apps mit Titanium Mobile und Alloy
Native Cross-Platform-Apps mit Titanium Mobile und AlloyNative Cross-Platform-Apps mit Titanium Mobile und Alloy
Native Cross-Platform-Apps mit Titanium Mobile und AlloyMayflower GmbH
 
Pair Programming Mythbusters
Pair Programming MythbustersPair Programming Mythbusters
Pair Programming MythbustersMayflower GmbH
 
Shoeism - Frau im Glück
Shoeism - Frau im GlückShoeism - Frau im Glück
Shoeism - Frau im GlückMayflower GmbH
 
Bessere Software schneller liefern
Bessere Software schneller liefernBessere Software schneller liefern
Bessere Software schneller liefernMayflower GmbH
 
Von 0 auf 100 in 2 Sprints
Von 0 auf 100 in 2 SprintsVon 0 auf 100 in 2 Sprints
Von 0 auf 100 in 2 SprintsMayflower GmbH
 
Piwik anpassen und skalieren
Piwik anpassen und skalierenPiwik anpassen und skalieren
Piwik anpassen und skalierenMayflower GmbH
 
Agilitaet im E-Commerce - E-Commerce Breakfast
Agilitaet im E-Commerce - E-Commerce BreakfastAgilitaet im E-Commerce - E-Commerce Breakfast
Agilitaet im E-Commerce - E-Commerce BreakfastMayflower GmbH
 
Mongo DB - Segen oder Fluch
Mongo DB - Segen oder FluchMongo DB - Segen oder Fluch
Mongo DB - Segen oder FluchMayflower GmbH
 

Mais de Mayflower GmbH (20)

Agile Anti-Patterns
Agile Anti-PatternsAgile Anti-Patterns
Agile Anti-Patterns
 
JavaScript Days 2015: Security
JavaScript Days 2015: SecurityJavaScript Days 2015: Security
JavaScript Days 2015: Security
 
Vom Entwickler zur Führungskraft
Vom Entwickler zur FührungskraftVom Entwickler zur Führungskraft
Vom Entwickler zur Führungskraft
 
Produktive teams
Produktive teamsProduktive teams
Produktive teams
 
Salt and pepper — native code in the browser Browser using Google native Client
Salt and pepper — native code in the browser Browser using Google native ClientSalt and pepper — native code in the browser Browser using Google native Client
Salt and pepper — native code in the browser Browser using Google native Client
 
Plugging holes — javascript memory leak debugging
Plugging holes — javascript memory leak debuggingPlugging holes — javascript memory leak debugging
Plugging holes — javascript memory leak debugging
 
Usability im web
Usability im webUsability im web
Usability im web
 
Rewrites überleben
Rewrites überlebenRewrites überleben
Rewrites überleben
 
JavaScript Security
JavaScript SecurityJavaScript Security
JavaScript Security
 
50 mal produktiver - oder warum ich gute Teams brauche und nicht gute Entwick...
50 mal produktiver - oder warum ich gute Teams brauche und nicht gute Entwick...50 mal produktiver - oder warum ich gute Teams brauche und nicht gute Entwick...
50 mal produktiver - oder warum ich gute Teams brauche und nicht gute Entwick...
 
Responsive Webdesign
Responsive WebdesignResponsive Webdesign
Responsive Webdesign
 
Native Cross-Platform-Apps mit Titanium Mobile und Alloy
Native Cross-Platform-Apps mit Titanium Mobile und AlloyNative Cross-Platform-Apps mit Titanium Mobile und Alloy
Native Cross-Platform-Apps mit Titanium Mobile und Alloy
 
Pair Programming Mythbusters
Pair Programming MythbustersPair Programming Mythbusters
Pair Programming Mythbusters
 
Shoeism - Frau im Glück
Shoeism - Frau im GlückShoeism - Frau im Glück
Shoeism - Frau im Glück
 
Bessere Software schneller liefern
Bessere Software schneller liefernBessere Software schneller liefern
Bessere Software schneller liefern
 
Von 0 auf 100 in 2 Sprints
Von 0 auf 100 in 2 SprintsVon 0 auf 100 in 2 Sprints
Von 0 auf 100 in 2 Sprints
 
Piwik anpassen und skalieren
Piwik anpassen und skalierenPiwik anpassen und skalieren
Piwik anpassen und skalieren
 
Agilitaet im E-Commerce - E-Commerce Breakfast
Agilitaet im E-Commerce - E-Commerce BreakfastAgilitaet im E-Commerce - E-Commerce Breakfast
Agilitaet im E-Commerce - E-Commerce Breakfast
 
Mongo DB - Segen oder Fluch
Mongo DB - Segen oder FluchMongo DB - Segen oder Fluch
Mongo DB - Segen oder Fluch
 
Schnelle Geschäfte
Schnelle GeschäfteSchnelle Geschäfte
Schnelle Geschäfte
 

Verteiltes Verarbeiten von riesigen Datenmengen mittels Hadoop