11.Vorlesung Cluster-, Grid- und Cloud-Computing Hochschule Mannheim

Größe: px
Ab Seite anzeigen:

Download "11.Vorlesung Cluster-, Grid- und Cloud-Computing Hochschule Mannheim"

Transkript

1 Christian Baun, Viktor Mauch 11.Vorlesung Cluster-, Grid- und Cloud-Computing Hochschule Mannheim SS2011 1/72 11.Vorlesung Cluster-, Grid- und Cloud-Computing Hochschule Mannheim Christian Baun, Viktor Mauch Karlsruher Institut für Technologie Steinbuch Centre for Computing [baun

2 Christian Baun, Viktor Mauch 11.Vorlesung Cluster-, Grid- und Cloud-Computing Hochschule Mannheim SS2011 2/72 Wiederholung vom letzten Mal Vorlesung 9: Peer-to-Peer (P2P) Grundlagen Einsatzgebiete Zentralisiertes P2P Napster Pures bzw. Reines P2P Gnutella Version 0.4 Hybrides P2P Gnutella Version 0.6 FastTrack BitTorrent BOINC Vorlesung 10: Sicherheit Kryptografische Werkzeuge Schlüsselverteilung Authentifizierungsprotokolle Sichere Systeme

3 Christian Baun, Viktor Mauch 11.Vorlesung Cluster-, Grid- und Cloud-Computing Hochschule Mannheim SS2011 3/72 Heute Eckdaten Grundlagen Ablauf Einsatzgebiete Google PageRank Komponenten und Erweiterungen Hadoop Distributed File System (HDFS) Pig Hive HBase Cloudera Installationsanleitung Beispiele mit der Installation Amazon Elastic MapReduce Weitere MapReduce-Implementierungen

4 Christian Baun, Viktor Mauch 11.Vorlesung Cluster-, Grid- und Cloud-Computing Hochschule Mannheim SS2011 4/72 Unternehmen wie Google, Yahoo, Facebook und Twitter müssen täglich Datenmengen im Bereich mehrerer GB und PB speichern und verarbeiten Die Verarbeitung großer Datenmengen geschieht heute häufig mit verteiltem Rechnen in Clustern Es existieren zwei grundlegende Aufgabenbereiche: 1 Die Daten müssen möglichst effizient gespeichert werden 2 Die Daten müssen möglichst effizient verarbeitet werden

5 Christian Baun, Viktor Mauch 11.Vorlesung Cluster-, Grid- und Cloud-Computing Hochschule Mannheim SS2011 5/72 Datenspeicherung und Datenverarbeitung Zur effizienten Datenspeicherung entwickelte Google das verteilte Cluster-Dateisystem Google File Sytem (GFS) Das GFS arbeitet nach dem Master-Slave-Prinzip Fehlertoleranz bei Hardwareausfällen erreicht GFS durch Replikation S. Ghemawat, H. Gobioff, S. Leung. The Google File System. Google Das Standardvorgehen bei verteilten Systemen ist üblicherweise: Es findet ein Transfer der zu verarbeitenden Daten zum Programm statt Ein Programm startet auf einem Rechner und holt die benötigten Eingabedaten von einer Quelle (z.b. FTP-Server oder Datenbank) Dieses Vorgehen ist bei großen Datenmengen wegen des Datentransfers ein Flaschenhals und somit nicht optimal Lösung: Die Datenverarbeitung muss dort stattfinden, wo die Daten gespeichert sind = Das ist mit dem MapReduce-Programmiermodell möglich

6 Christian Baun, Viktor Mauch 11.Vorlesung Cluster-, Grid- und Cloud-Computing Hochschule Mannheim SS2011 6/72 Zwei Bedeutungen von MapReduce Mit MapReduce sind häufig zwei Dinge gemeint 1 MapReduce-Programmiermodell Für die parallele Datenverarbeitung in Clustern 2 MapReduce-Frameworks (z.b. Hadoop) Arbeiten nach dem MapReduce-Programmiermodell Unterscheiden sich durch die Wahl der Programmiersprache und in den Implementierungsdetails

7 Christian Baun, Viktor Mauch 11.Vorlesung Cluster-, Grid- und Cloud-Computing Hochschule Mannheim SS2011 7/72 Eckdaten zu MapReduce J. Dean, S. Ghemawat. MapReduce: Simplified Data Processing on Large Clusters. Google Das MapReduce-Programmiermodell teilt Aufgaben in kleine Teile auf und verteilt sie zur gleichzeitigen Verarbeitung auf unterschiedliche Rechenknoten Das Endergebnis entsteht durch die Zusammenführung der Teilergebnisse Oliver Fischer. Verarbeiten großer verteilter Datenmengen mit Hadoop. heise Developer Google stellte MapReduce 2003 und das Google File System 2004 vor Das führte zum Entstehen freier Reimplementierungen (Open Source) Die Implementierungen von Google wurden nicht veröffentlicht

8 Christian Baun, Viktor Mauch 11.Vorlesung Cluster-, Grid- und Cloud-Computing Hochschule Mannheim SS2011 8/72 Eckdaten zu Hadoop 2005 implementierte Doug Cutting MapReduce für Nutch Nutch ist eine freie in Java geschriebene Suchmaschine Cuttings Implementierung war die Grundlage des Projekts Hadoop Hadoop ist eine freie Implementierung von GFS und MapReduce Seit 2008 koordiniert die Apache Software Foundation die Entwickelung Hadoop ist ein Top-Level-Projekt der Apache Software Foundation Im Juli 2009 hat ein Hadoop-Cluster von Yahoo 100 Terabyte in zwei Stunden und 53 Minuten sortiert (http://sortbenchmark.org)

9 Christian Baun, Viktor Mauch 11.Vorlesung Cluster-, Grid- und Cloud-Computing Hochschule Mannheim SS2011 9/72 Wurzeln von MapReduce Das Konzept MapReduce hat seine Wurzeln in Lisp Lisp kennt die beiden Funktionen map() und reduce() Lisps map-funktion wird mit einer Liste von Eingabewerten und einer Funktion als Parameter aufgerufen Die übergebene Funktion wird auf jeden Wert der Liste anwendet Lisps reduce-funktion ruft man auch mit einer Funktion und einer Liste mit Eingabewerten auf Reduce arbeitet ähnlich wie map, führt aber alle Ergebnisse zusammen

10 Christian Baun, Viktor Mauch 11.Vorlesung Cluster-, Grid- und Cloud-Computing Hochschule Mannheim SS /72 MapReduce und funktionale Programmierung MapReduce basiert auf dem Prinzip funktionale Programmierung Funktionale Programmierung ist ein Programmierstil, bei dem Programme ausschließlich aus Funktionen bestehen Funktionale Programme sind eine Menge von (Funktions)-Definitionen (Funktions)-Definitionen sind partielle Abbildungen von Eingabedaten auf Ausgabedaten Die Eingabedaten werden nie verändert! Die Funktionen sind idempotent (frei von Seiteneffekten) Bei jedem identischen Aufruf wird das gleiche Ergebnis zurückgeliefert Es werden ausschließlich Berechnungen mit Eingabedaten durchgeführt und dann neue (Zwischen-)Ergebnisse gebildet Google verwendet MapReduce für den PageRank-Algorithmus

11 Christian Baun, Viktor Mauch 11.Vorlesung Cluster-, Grid- und Cloud-Computing Hochschule Mannheim SS /72 MapReduce Michael Nebel. Arbeiten mit großen verteilten Datenmengen: Hadoop. ix 3/2007. S MapReduce besteht aus drei Schritten: 1 Partitionierung der Ausgangsdaten 2 Abbilden (Mappen) der Daten auf eine Datenstruktur, die aus einem Schlüssel-Wert-Paar besteht und Kombinieren der Daten map (k1,v1) list (k2,v2) 3 Reduzieren (Reduce) der Schlüssel-Wert-Paare zum Ergebnis reduce (k2,list(v2)) list (v2)

12 Christian Baun, Viktor Mauch 11.Vorlesung Cluster-, Grid- und Cloud-Computing Hochschule Mannheim SS /72 MapReduce Ablauf Das MapReduce-Programmiermodell unterteilt die Verarbeitung in eine Map- und eine nachfolgende Reduce-Phase, die verteilt auf allen Rechnern eines Clusters ausgeführt werden Quelle: Christophe Bisciglia, Tob White. An Introduction to Hadoop Ein zentraler Master, der die verfügbaren Worker einer der beiden Phasen zuordnet, koordiniert und überwacht die MapReduce-Anwendungen

13 MapReduce Ablauf im Detail (1) Quelle: J. Dean, S. Ghemawat. MapReduce: Simplified Data Processing on Large Clusters. Google Quelle: Rainer Grimm. Funktionale Programmierung (3): Das MapReduce-Framework. Linux Magazin Das MapReduce-Framework unterteilt die Eingabe in m Teile, startet den Master und die Worker-Prozesse im Cluster 2 Der Master weist die m Map-Aufgaben und r Reduce-Aufgaben den entsprechenden Knoten zu 3 Jeder Map-Prozess liest die Eingabedaten Schlüssel-Wert-Paare ein, verarbeitet sie mit der Map-Funktion und schreibt die Zwischenergebnisse in den Speicher 4 Jeder Map-Prozess schreibt die Zwischenergebnisse periodisch in r Dateien auf seine Festplatte und teilt die Namen der Dateien dem Master mit Christian Baun, Viktor Mauch 11.Vorlesung Cluster-, Grid- und Cloud-Computing Hochschule Mannheim SS /72

14 Christian Baun, Viktor Mauch 11.Vorlesung Cluster-, Grid- und Cloud-Computing Hochschule Mannheim SS /72 MapReduce Ablauf im Detail (2) Quelle: J. Dean, S. Ghemawat. MapReduce: Simplified Data Processing on Large Clusters. Google Quelle: Rainer Grimm. Funktionale Programmierung (3): Das MapReduce-Framework. Linux Magazin Jeder Reduce-Prozess bekommt vom Master die Adressen der Zwischenergebnisse mitgeteilt, liest alle für ihn bestimmten Schlüssel-Wert-Paare ein und sortiert die Schlüssel-Wert-Paare nach deren Schlüsseln 6 Jeder Reduce-Prozess iteriert über die Schlüssel-Liste-von-Werten-Paare für jeden Schlüssel und akkumuliert die Liste von Werten zu einem Ausgabewert 7 Das MapReduce-Framework wartet, bis alle Map- und Reduce-Prozesse durchgelaufen sind und übergibt die Kontrolle wieder an die Anwendung

15 Christian Baun, Viktor Mauch 11.Vorlesung Cluster-, Grid- und Cloud-Computing Hochschule Mannheim SS /72 Beispiele, wo MapReduce hilfreich ist Verteilte Häufigkeitsanalyse Wie häufig kommen welche Wörter in einem umfangreichen Text vor? Map-Funktion: Schreibt <Wort, 1> in einen Zwischenspeicher Reduce-Funktion: Addiert die Werte für ein Wort zu <Wort, Summe> Verteiltes grep In welchen Zeilen eines Textes kommt ein Suchmuster vor? Map-Funktion: Schreibt gefundene Zeilen in einen Zwischenspeicher Reduce-Funktion: Reicht die Zwischenergebnisse zur Ausgabe durch Berechnung von Webseiten-Anfragen Map-Funktion: Durchsucht die Webserver-Logdaten und schreibt Schlüssel-Wert-Paare <URL, 1> in einen Speicher für Zwischenergebnisse Reduce-Funktion: Addiert die Werte für eine URL zu <URL, Summe> Graph mit Seitenverweisen (Web-Link Graph) Map-Funktion: Gibt <Ziel, Quelle> für jeden Link zu einer URL (Ziel) innerhalb einer Seite (Quelle) Reduce-Funktion: Schreibt alle Seiten (Quellen) in eine Liste, die mit einer URL (Ziel) assoziiert sind und gibt <Ziel, list(quelle)> zurück

16 Christian Baun, Viktor Mauch 11.Vorlesung Cluster-, Grid- und Cloud-Computing Hochschule Mannheim SS /72 Google PageRank Der PageRank-Algorithmus von Google bewertet verknüpfte (verlinkte) Dokumente (Webseiten) Entwickelt und patentiert von Larry Page und Sergei Brin Grundlage der Suchmaschine Google für die Bewertung von Webseiten Prinzip: Je mehr Links auf eine Webseite verweisen, umso höher ist ihr Gewicht (PageRank) Jede Webseite hat ein Gewicht Je höher das Gewicht der verweisenden Webseiten, desto größer ist der Effekt

17 Christian Baun, Viktor Mauch 11.Vorlesung Cluster-, Grid- und Cloud-Computing Hochschule Mannheim SS /72 Arbeitsweise des PageRank geklaut von Wikipedia Das Gewicht PR i einer Webseite i berechnet sich aus den Gewichten PR j der auf i verweisenden Seiten j Verweist j auf insgesamt C j verschiedene Seiten, so wird das Gewicht von PR j anteilig auf diese Webseiten aufgeteilt Definition des PageRank-Algorithmus durch diese Formel: PR i = 1 d N + d j {(j,i)} PR j C j N ist die Gesamtanzahl der Seiten d ist ein Dämpfungsfaktor zwischen 0 und 1 (üblicherweise 0,85) Ein kleiner Anteil des Gewichts (1 d) wird von jeder Webseite abgezogen und gleichmäßig auf alle erfassten Webseiten verteilt Verhindert, das das Gewicht zu Webseiten abfließt, die auf keine andere Webseite verweisen

18 Christian Baun, Viktor Mauch 11.Vorlesung Cluster-, Grid- und Cloud-Computing Hochschule Mannheim SS /72 PageRank mit MapReduce Schritt 1: Parse die Webseiten nach ausgehenden Links Schritt 2: Berechne iterativ den PageRank Schritt 3: Sortiere die Webseiten nach dem Pagerank

19 Christian Baun, Viktor Mauch 11.Vorlesung Cluster-, Grid- und Cloud-Computing Hochschule Mannheim SS /72 PageRank - Schritt 1: URL Parsen Mapper: Eingabe: index.html <htnl><a href="me.html">ich</a></html> Ausgabe für jeden ausgehenden Link: key: index.html value: me.html Reducer: Eingabe: key: index.html values: me.html, house.html, car.html,... Ausgabe: key: index.html value: 1.0, me.html, house.html, car.html,...

20 Christian Baun, Viktor Mauch 11.Vorlesung Cluster-, Grid- und Cloud-Computing Hochschule Mannheim SS /72 PageRank - Schritt 2: PageRank Berechnung Mapper: Eingabe: key: index.html value: pagerank me.html house.html car.html... Ausgabe: key: me.html value: index.html pagerank number of outlinks Reducer: Eingabe: key: me.html value: index.html value: family.html Ausgabe: key: me.html value: neuer pagerankindex.html car.html...

21 Christian Baun, Viktor Mauch 11.Vorlesung Cluster-, Grid- und Cloud-Computing Hochschule Mannheim SS /72 PageRank: Iteration

22 Christian Baun, Viktor Mauch 11.Vorlesung Cluster-, Grid- und Cloud-Computing Hochschule Mannheim SS /72 PageRank - Schritt 3: Sortierung der Websites Sortiere alle Websites nach ihren PageRanks Mapper: Eingabe: key: index.html value: pagerank outlinks Ausgabe: key: pagerank value: index.html

23 Christian Baun, Viktor Mauch 11.Vorlesung Cluster-, Grid- und Cloud-Computing Hochschule Mannheim SS /72 Hadoop Komponenten und Erweiterungen Hadoop Distributed File System (HDFS) Pig: Datenbanksprache von Yahoo Hive: Data Warehouse von Facebook HBase: Datenbank zur Verwaltung sehr großer Datenmengen Das ist nur eine Auswahl der populären Komponenten/Erweiterungen Es gibt weitere Erweiterungen wie z.b. Chukwa und ZooKeeper Chukwa dient der Echtzeitüberwachung sehr großer verteilter Systeme ZooKeeper vereinfacht die Konfiguration verteilter Systeme Gute deutschsprachige Einführung zu Pig und Hive Ralf Falk, David Knaak, Michael Köster, Marko Salchow

24 Hadoop Distributed File System (HDFS) Hadoop enthält das Hadoop Distributed File System (HDFS) Quelloffene Reimplementierung des Google File System (GFS) Fehlertolerantes, verteiltes Dateisystem Bildquelle: Mehr Informationen: Von den Google-Clustern ist bekannt, dass sie aus kostengünstiger Standardhardware bestehen Ausfall einzelner Knoten keine Ausnahme, sondern der Normalfall = Fehlertoleranz ist ein wichtiges Ziel von GFS und HDFS Neue Knoten sollen leicht hinzugefügt werden können Datenmengen im Petabyte-Bereich müssen verwaltet werden können Gute Quelle: The Google file system, Ghemawat, Gobioff, Leung, 2003 Christian Baun, Viktor Mauch 11.Vorlesung Cluster-, Grid- und Cloud-Computing Hochschule Mannheim SS /72

25 Christian Baun, Viktor Mauch 11.Vorlesung Cluster-, Grid- und Cloud-Computing Hochschule Mannheim SS /72 Architektur von HDFS (folgt dem Master/Slave-Schema) Namenode (Master) speichert und verwaltet die Metadaten und reagiert auf Ausfälle Existiert exakt ein Mal innerhalb eines HDFS-Clusters = Single Point of Failure Speichert keine Nutzdaten, sondern ausschließlich Metadaten Kennt alle im HDFS-Cluster existierenden Dateien und Verzeichnisse Erfasst die Blöcke (Chunks) der Dateien, die Anzahl der Kopien und deren Positionen (Datanodes) Überwacht die Verfügbarkeit der einzelnen Datanodes und verteilt die Blöcke neu, sobald ein Datanode ausfällt Datanodes (Slaves) speichern nur die Nutzdaten Besonderheit bei HDFS und GFS: Größe der Chunks ist 64 MB Die entstehende interne Fragementierung wird zugunsten des geringeren Netzwerkoverheads in Kauf genommen Clients kommunizieren mit dem Namenode und den Datanodes Der Namenode agiert nur als Verzeichnisdienst Er gibt Auskunft, auf welchen Datanodes eine gesuchte Datei liegt Lese- und Schreibzugriffe der Clients gehen direkt über die Datanodes

26 Datensicherheit bei HDFS Bildquelle: docs/current/hdfs_design.html Dreifache Replikation der Nutzdaten auf unterschiedlichen Knoten garantiert Datensicherheit bei häufigen Ausfällen von Knoten Datanodes melden sich regelmäßig via Heartbeat beim Namenode Kommen von einem Datanode keine Meldungen mehr beim Namenode an, erklärt dieser den Datanode für ausgefallen Der Namenode weist dann die Replikation der betroffenen Datenblöcke an, um nicht unter die Mindestanzahl an Replikationen zu fallen Christian Baun, Viktor Mauch 11.Vorlesung Cluster-, Grid- und Cloud-Computing Hochschule Mannheim SS /72

27 Christian Baun, Viktor Mauch 11.Vorlesung Cluster-, Grid- und Cloud-Computing Hochschule Mannheim SS /72 Lesezugriffe bei HDFS Der HDFS-Client ruft einen Webservice (zum Lesen) auf dem Namenode mit dem gewünschten Dateinamen als Parameter auf Der Namenode überprüft im Namespace, der sich im Arbeitsspeicher befindet, auf welchen Datanodes sich die Blöcke (Chunks) befinden Der Namenode liefert dem Client sog. Chunk-Handles, die Identifizierer eines Blocks auf den Datanodes darstellen, sowie eine Liste von Datanodes, die die Blöcke speichern Der HDFS-Client ruft den Webservice eines oder mehrerer Datanodes auf, um die Nutzdaten zu erhalten Die Datanodes lesen mit Hilfe der Identifizierer die HDFS-Blöcke von ihrer Festplatte und übertragen diese als Ergebnis zum Client

28 Christian Baun, Viktor Mauch 11.Vorlesung Cluster-, Grid- und Cloud-Computing Hochschule Mannheim SS /72 Schreibzugriffe bei HDFS (1) Der HDFS-Client ruft einen Webservice (zum Schreiben) auf dem Namenode mit dem gewünschten Dateinamen als Parameter auf Der Namenode überprüft, ob der Client Schreibrechte hat und ob die Datei bereits existiert Sind die Überprüfungen für den Client positiv, speichert der Namenode die Metainformation der Datei im Namespace Ist die Datei vorhanden oder hat der Client keine Schreibberechtigung, bricht der Namenode den Prozess durch eine Exception ab Es ist in HDFS nicht möglich, Dateien zu überschreiben Dateien überschreiben geht nur mit Löschen und Wiedereinstellen Der Client teilt die zu speichernde Datei in Blöcke und stellt diese in eine Queue Der Client arbeitet die Queue iterativ ab und ruft bei jedem Block die Webservice-Schnittstelle des Namenode auf, der eine Liste von Datanodes zurückliefert, die den Datenblock speichern soll Zusätzlich erhält der Client einen Identifizierer für den Block

29 Christian Baun, Viktor Mauch 11.Vorlesung Cluster-, Grid- und Cloud-Computing Hochschule Mannheim SS /72 Schreibzugriffe bei HDFS (2) Die Auswahl der Datanodes zur Speicherung eines Blocks ist konfigurationsabhängig Es existieren Konfigurationsmöglichkeiten, wie z.b. die Definition von Racks, um physisch benachbarte Server zu einem virtuellen Rack zusammenzuschließen (= rack-awareness) Ziel: Netzwerkverkehr einsparen Der HDFS-Client überträgt den Block und die Liste der Datanodes zu einem Datanode, der diese mit dem Identifizierer lokal speichert Nach der erfolgreichen Übertragung des Blocks leitet der Datanode den Block zur Speicherung zu einem weiteren Datanode der Liste weiter Der Vorgang wiederholt sich mit einem weiteren Datanode aus der Liste, bis die konfigurierte Anzahl der Replikation eines Blocks erreicht ist Alternative Dateisysteme in Hadoop Man muss nicht zwingend HDFS verwenden. Alternativen sind u.a. Amazon S3, CloudStore und FTP

30 Christian Baun, Viktor Mauch 11.Vorlesung Cluster-, Grid- und Cloud-Computing Hochschule Mannheim SS /72 Secondary Namenode bei HDFS Um Datenintegrität und nach einem Ausfall des Namenodes einen raschen Neustart zu gewährleisten, existiert der Secondary Namenode Dieser kann den Namenode bei einem Ausfall nicht ersetzen Der Secondary Namenode kommuniziert zu keiner Zeit mit den Clients Namenode speichert die Metadaten in Form eines Abbildes (Namespace) und einer Liste von Transaktionen auf diesem Abbild Beim Ausfall des Namenode müsste dieser alle Transaktionen virtuell durchführen, um das letzte bekannte Abbild wieder zu erhalten Das dauert bei großen Dateisystemen lange Der Secondary Namenode speichert das Abbild (Namespace) in Intervallen zur Sicherung Beim Ausfall des Namenode kann dieser beim Neustart das zuletzt gesicherte Abbild vom Secondary Namenode laden

31 Christian Baun, Viktor Mauch 11.Vorlesung Cluster-, Grid- und Cloud-Computing Hochschule Mannheim SS /72 Architektur des Google File System (GFS) Bildquelle: Google

32 Christian Baun, Viktor Mauch 11.Vorlesung Cluster-, Grid- und Cloud-Computing Hochschule Mannheim SS /72 Pig Kann für die Analyse sehr großer semi-strukturierter, strukturierter oder relationaler Datenmengen eingesetzt werden Enthält eine Programmiersprache für Datenabfragen und einen Compiler Die Programmiersprache ist Pig Latin (Schweine-Latein) Pig Latin wird als Dataflow Language (Datenflusssprache) bezeichnet Man definiert Abfolgen einzelner Transformationen auf Daten Somit sind ad-hoc Analysen in großen Datenbeständen möglich Der Compiler übersetzt Pig Latin-Anweisungen in MapReduce-Jobs Pig orchestriert auch die Ausführung der Jobs im Hadoop-Cluster Pig wird mit der Pig-Shell (Grunt) benutzt Grunt kann auch Skripte laden, um Befehle im Batch-Modus auszuführen

33 Christian Baun, Viktor Mauch 11.Vorlesung Cluster-, Grid- und Cloud-Computing Hochschule Mannheim SS /72 Pig Pig liest alle Datenformate ein, unabhängig von deren Aufbau Standardmäßig erwartet Pig die Daten als Klartext und Tab separiert Für die Interpretation anderweitig formatierter Daten kann man User Defined Functions (UDF) angeben Mit UDF kann man eigenen Code in Pig-Programme integrieren Apache mit Piggybank ein offenes Repository an UDFs werden in Java geschrieben und als JAR-Datei in Pig integriert Vorteil von Pig: Reduktion der Komplexität gegenüber MapReduce-Abfragen

34 Christian Baun, Viktor Mauch 11.Vorlesung Cluster-, Grid- und Cloud-Computing Hochschule Mannheim SS /72 Kommandos von Pig Kommando load store foreach filter group/cogroup join order distinct union split stream dump limit Bedeutung Daten vom Dateisystem einlesen Daten in das Dateisystem schreiben Einen Ausdruck für alle Datensätze anwenden Alle Datensätze verwerfen, die nicht dem Filterregeln entsprechen Datensätze mit dem gleichen Schlüssel aus einer oder mehreren Eingabequellen sammeln Zwei oder mehr Eingabequellen nach einem Schlüssel kombinieren Datensätze nach einem Schlüssel sortieren Doppelte Datensätze löschen Zwei Datensätze zusammenführen Daten mit Filterregeln in zwei oder mehr Datensätze aufteilen Alle Datensätze zu einer angegebenen Binärdatei übertragen Die Ausgabe nach stdout schreiben Die Anzahl der Datensätze beschränken Quelle: Introduction to Pig. Cloudera

35 Christian Baun, Viktor Mauch 11.Vorlesung Cluster-, Grid- und Cloud-Computing Hochschule Mannheim SS /72 Beispiel für einen Job in Pig Latin Dieses Beispiel macht die Reduktion der Komplexität von MapReduce-Abfragen gegenüber Pig Latin-Abfragen deutlich Abfrage der 5 meistbesuchten Seiten einer Webseite von Personen die 18 bis 25 Jahre alt sind Die Benutzerdaten und Daten der Webseite befinden sich in zwei verschiedenen Dateien Das Beispiel und die Bilder sind von der ApacheCon Europe 2009

36 Christian Baun, Viktor Mauch 11.Vorlesung Cluster-, Grid- und Cloud-Computing Hochschule Mannheim SS /72 Zum Vergleich: Die Anweisungen im MapReduce-Format

37 Christian Baun, Viktor Mauch 11.Vorlesung Cluster-, Grid- und Cloud-Computing Hochschule Mannheim SS /72 Übersetzten der Pig Latin-Anweisungen Übersetzten der Pig Latin-Anweisungen in MapReduce-Jobs

38 Christian Baun, Viktor Mauch 11.Vorlesung Cluster-, Grid- und Cloud-Computing Hochschule Mannheim SS /72 Einsparungen durch Pig

39 Christian Baun, Viktor Mauch 11.Vorlesung Cluster-, Grid- und Cloud-Computing Hochschule Mannheim SS /72 Pig Gute Zusammenfassung von Cloudera

40 Bildet ein Data Warehouse auf Basis von Hadoop Ein Data Warehouse (Datenlager)... ist eine Datensammelstelle in Form einer Datenbank bezieht seine Daten aus verschiedenen Quellen (z.b. weiteren Datenbanken) Datenmodell analog zu relationalen Datenbanksystemen mit Tabellen Die Nutzdaten speichert Hive in HDFS Die Tabellen werden durch Ordner im HDFS abgebildet Die Daten der Tabellen liegen serialisiert in Dateien innerhalb der Ordner Metadaten werden in der relationalen Datenbank Metastore gespeichert Unterstützt diverse Spaltentypen (u.a. integer, string, date, boolean) Abfragen erfolgen in der deklarativen Sprache HiveQL Die Abfragesprache bietet eine SQL-ähnliche Syntax Hive übersetzt HiveQL-Anweisungen in MapReduce-Jobs Hive orchestriert auch die Ausführung der Jobs im Hadoop-Cluster Steuerung via Kommandozeilenschnittstelle, Weboberfläche oder JDBC/ODBC-Schnittstelle Christian Baun, Viktor Mauch 11.Vorlesung Cluster-, Grid- und Cloud-Computing Hochschule Mannheim SS /72 Hive

41 Christian Baun, Viktor Mauch 11.Vorlesung Cluster-, Grid- und Cloud-Computing Hochschule Mannheim SS /72 Hive Beispiele (Quelle: Tabelle page_view erzeugen: CREATE TABLE page_view(viewtime INT, userid BIGINT, page_url STRING, referrer_url STRING, ip STRING COMMENT IP Address of the User ) COMMENT This is the page view table PARTITIONED BY(dt STRING, country STRING) ROW FORMAT DELIMITED FIELDS TERMINATED BY \001 LINES TERMINATED BY \012 STORED AS SEQUENCEFILE; Tabelle löschen: DROP TABLE [IF EXISTS] table_name Tabellennamen ausgeben: SHOW TABLES identifier_with_wildcards Partitionen einer Tabelle ausgeben: SHOW PARTITIONS table_name Tabelle umbenennen: ALTER TABLE table_name RENAME TO new_table_name Spalten hinzufügen oder ersetzen: ALTER TABLE table_name ADD REPLACE COLUMNS (col_name data_type [COMMENT col_comment],...)

42 Christian Baun, Viktor Mauch 11.Vorlesung Cluster-, Grid- und Cloud-Computing Hochschule Mannheim SS /72 Unterscheidung zwischen Pig und Hive Kriterium Pig Hive Typische Logfile Analyse Logfile Analyse, Data Mining, Anwendungsszenarien Webanalysen in Echtzeit, Data Warehousing Zielsetzung Vereinfachung von Vereinfachung von MapReduce-Abfragen im MapReduce-Abfragen im Stil einer Skriptsprache Stil der SQL Abfragesprache Pig Latin (prozedural) HiveQL9 (deklarativ) Metadaten keine im Metastore gespeichert Benutzerschnittstellen Kommandozeilenoberfläche Kommandozeilenoberfläche, (Grunt) Weboberfläche Exportschnittstellen keine ODBC/JDBC Eingabedatenstruktur unstrukturiert strukturiert Eingabedatenformate Rohdaten Rohdaten Ausgabedatenformate Rohdaten Rohdaten Hauptentwickler Yahoo Facebook Quelle:

43 Christian Baun, Viktor Mauch 11.Vorlesung Cluster-, Grid- und Cloud-Computing Hochschule Mannheim SS /72 HBase Spaltenorienterte Datenbank zur Verwaltung sehr großer Datenmengen in Hadoop-Clustern Geeignet für große Datenmengen, die selten verändert, aber dafür häufig ergänzt werden Geeignet für Milliarden Spalten und Millionen Zeilen verteilt auf vielen Servern aus Standardhardware Freie Reimplementierung der Google BigTable Google BigTable baut auf GFS und dessen Eigenschaften auf HBase baut auf HDFS auf (freie Reimplementierung von GFS) Chang, Dean, Ghemawat, Hsieh, Wallach, Burrows, Chandra, Fikes, Gruber. Bigtable: A Distributed Storage System for Structured Data. Google

44 Christian Baun, Viktor Mauch 11.Vorlesung Cluster-, Grid- und Cloud-Computing Hochschule Mannheim SS /72 Hadoop Erfolgsgeschichten (http://wiki.apache.org/hadoop/poweredby) EBay Cluster mit 532 Knoten (4.256 CPU-Kerne, 5,3 PB Speicher) Aufgabe: Optimierung der Suche Facebook Cluster mit Knoten (8.800 CPU-Kerne, 12 PB Speicher) Cluster mit 300 Knoten (2.400 CPU-Kerne, 3 PB Speicher) Aufgabe: Speichern und Analyse der Log-Daten Last.fm Cluster mit 44 Knoten (352 CPU-Kerne, 176 TB Speicher) Aufgabe: Speichern und Analyse der Log-Daten, Berechnen der Charts Twitter Aufgabe: Speichern und Analyse der Log-Daten, Speichern der Tweets Yahoo Mehrere Cluster mit zusammen > Knoten und > CPUs Größter Cluster: Knoten (je 8 CPUs und 4 TB Speicher) Aufgabe: Websuche und Werbung Mehr Informationen:

45 Christian Baun, Viktor Mauch 11.Vorlesung Cluster-, Grid- und Cloud-Computing Hochschule Mannheim SS /72 Hadoop und IBM Watson vs. Menschheit

46 Christian Baun, Viktor Mauch 11.Vorlesung Cluster-, Grid- und Cloud-Computing Hochschule Mannheim SS /72 Cloudera Cloudera ist eine leistungsfähige Hadoop-Distribution Enthält neben Hadoop u.a. die Programmiersprache Pig und die auf Hadoop aufsetzende SQL-Datenbank Hive, die Spaltendatenbank HBase, Apache Zookeeper und das Hadoop-Browser-Forntend Hue Pakete für Debian, Ubuntu, RedHat und SuSE 03/2009: Cloudera s Distribution for Hadoop (CDH1) 03/2009: $5 Millionen Risikokapital von Accel Partners 06/2009: $11 Millionen Risikokapital von Greylock Partners 08/2009: Doug Cutting wechselt von Yahoo zu Cloudera 03/2010: Cloudera s Distribution for Hadoop Version 2 (CDH2) 10/2010: $25 Millionen Risikokapital von Meritech Capital Partners 04/2011: Cloudera s Distribution for Hadoop Version 3 (CDH3)

47 Christian Baun, Viktor Mauch 11.Vorlesung Cluster-, Grid- und Cloud-Computing Hochschule Mannheim SS /72 Cloudera (CDH3) unter Ubunutu installieren (1) Diese Anleitung installiert einen Cluster auf einem Knoten Pseudo Distributed Modus Die Anleitung orientiert sich an Instanz mit Ubuntu (ami-08f40561) in US-East starten Die Ports 22, und in der Sicherheitsgruppe freigeben DNS: ec compute-1.amazonaws.com Paketquellen einfügen in /etc/apt/sources.list.d/cloudera.list $ sudo add-apt-repository "deb maverick partner" $ sudo add-apt-repository "deb maverick-cdh3 contrib" Schlüssel der Paketquelle von Cloudera importieren $ sudo curl -s sudo apt-key add - Pakete installieren $ sudo apt-get update $ sudo apt-get install sun-java6-jdk $ sudo apt-get install hadoop-0.20-conf-pseudo Cloudera-Dienste starten $ for service in /etc/init.d/hadoop-0.20-*; do sudo $service start; done

48 Christian Baun, Viktor Mauch 11.Vorlesung Cluster-, Grid- und Cloud-Computing Hochschule Mannheim SS /72 Cloudera (CDH3) unter Ubunutu installieren (2) Schauen, welche Dateien Cloudera installiert hat $ dpkg -L hadoop-0.20-conf-pseudo Kontrollieren, ob die Cloudera-Dienste laufen $ sudo jps 2232 SecondaryNameNode 2539 Jps 1994 DataNode 2074 JobTracker 2154 NameNode 2317 TaskTracker Bei einer solchen Ausgabe war die Installation erfolgreich! Weboberfläche des Namenode Weboberfläche des Job Trackers Cloudera-Dienste wieder beenden $ for x in /etc/init.d/hadoop-* ; do sudo $x stop ; done

49 Christian Baun, Viktor Mauch 11.Vorlesung Cluster-, Grid- und Cloud-Computing Hochschule Mannheim SS /72 Weboberfläche des Namenode

50 Christian Baun, Viktor Mauch 11.Vorlesung Cluster-, Grid- und Cloud-Computing Hochschule Mannheim SS /72 Weboberfläche des Job Trackers

51 Christian Baun, Viktor Mauch 11.Vorlesung Cluster-, Grid- und Cloud-Computing Hochschule Mannheim SS /72 Einfache Beispiele mit der Cloudera-Installation (1) Beispiel zur Berechnung von π $ hadoop jar /usr/lib/hadoop/hadoop-*-examples.jar pi Number of Maps = 5 Samples per Map = 1000 Wrote input for Map #0 Wrote input for Map #1 Wrote input for Map #2 Wrote input for Map #3 Wrote input for Map #4 Starting Job 11/06/06 19:18:15 INFO mapred.fileinputformat: Total input paths to process : 5 11/06/06 19:18:16 INFO mapred.jobclient: Running job: job_ _ /06/06 19:18:17 INFO mapred.jobclient: map 0% reduce 0% 11/06/06 19:18:23 INFO mapred.jobclient: map 40% reduce 0% 11/06/06 19:18:27 INFO mapred.jobclient: map 60% reduce 0% 11/06/06 19:18:28 INFO mapred.jobclient: map 80% reduce 0% 11/06/06 19:18:29 INFO mapred.jobclient: map 100% reduce 0% 11/06/06 19:18:36 INFO mapred.jobclient: map 100% reduce 100% 11/06/06 19:18:36 INFO mapred.jobclient: Job complete: job_ _ /06/06 19:18:36 INFO mapred.jobclient: Launched reduce tasks= /06/06 19:18:36 INFO mapred.jobclient: Launched map tasks=5... Job Finished in seconds Estimated value of Pi is

52 Berechnung von π via Monte-Carlo-Simulation A r K Q = Flächeninhalt = Radius = Kreis = Quadrat π kann man via Monte-Carlo-Simulation approximieren 1.Schritt: Einen Kreis in ein Quadrat einbeschreiben A Q = (2r) 2 = 4r 2 A K = πr 2 = π = A K r 2 Wie können wir π approximieren? 1 Zufällig Punkte im Quadrat erzeugen 2 Anzahl der Punkte auf A K zur Anzahl der Punkte auf A Q ist gleich dem Flächenverhältnis A K = πr 2 A Q 4r 2 = A K = π A Q 4 Zufälliges Erzeugen der Punkte kann durch die Worker parallelisiert werden Der Master erhält die Punkte und berechnet π Bildquelle: Wikipedia Christian Baun, Viktor Mauch 11.Vorlesung Cluster-, Grid- und Cloud-Computing Hochschule Mannheim SS /72

53 Christian Baun, Viktor Mauch 11.Vorlesung Cluster-, Grid- und Cloud-Computing Hochschule Mannheim SS /72 Berechnung von π mit MapReduce NUMPOINTS = ; // some large number - the bigger, the closer the approximation p = number of WORKERS ; numperworker = NUMPOINTS / p; countcircle = 0; // one of these for each WORKER // each WORKER does the following : for (i = 0; i < numperworker ; i ++) { generate 2 random numbers that lie inside the square ; xcoord = first random number ; ycoord = second random number ; if ( xcoord, ycoord ) lies inside the circle countcircle ++; } MASTER : receives from WORKERS their countcircle values computes PI from these values : PI = 4.0 * countcircle / NUMPOINTS ; Quelle: Introduction to Parallel Programming and MapReduce

54 Christian Baun, Viktor Mauch 11.Vorlesung Cluster-, Grid- und Cloud-Computing Hochschule Mannheim SS /72 Einfache Beispiele mit der Cloudera-Installation (2) Beispiel zu grep $ hadoop-0.20 fs -mkdir input $ hadoop-0.20 fs -put /etc/hadoop-0.20/conf/*.xml input $ hadoop-0.20 fs -ls input $ hadoop-0.20 jar /usr/lib/hadoop-0.20/hadoop-*-examples.jar grep input output dfs[a-z.]+ 11/06/06 20:05:49 INFO mapred.fileinputformat: Total input paths to process : 7 11/06/06 20:05:49 INFO mapred.jobclient: Running job: job_ _ /06/06 20:05:50 INFO mapred.jobclient: map 0% reduce 0% 11/06/06 20:05:55 INFO mapred.jobclient: map 28% reduce 0% 11/06/06 20:05:59 INFO mapred.jobclient: map 42% reduce 0% 11/06/06 20:06:00 INFO mapred.jobclient: map 57% reduce 0% 11/06/06 20:06:02 INFO mapred.jobclient: map 71% reduce 0% 11/06/06 20:06:03 INFO mapred.jobclient: map 85% reduce 0% 11/06/06 20:06:05 INFO mapred.jobclient: map 100% reduce 0% 11/06/06 20:06:10 INFO mapred.jobclient: map 100% reduce 28% 11/06/06 20:06:11 INFO mapred.jobclient: map 100% reduce 100% 11/06/06 20:06:12 INFO mapred.jobclient: Job complete: job_ _ /06/06 20:06:12 INFO mapred.jobclient: Launched reduce tasks= /06/06 20:06:12 INFO mapred.jobclient: Launched map tasks=7...

55 Christian Baun, Viktor Mauch 11.Vorlesung Cluster-, Grid- und Cloud-Computing Hochschule Mannheim SS /72 Einfache Beispiele mit der Cloudera-Installation (3) Ausgabe des grep-beispiels $ hadoop fs -ls output Found 3 items -rw-r--r-- 1 ubuntu supergroup :33 /user/ubuntu/output/_success drwxr-xr-x - ubuntu supergroup :32 /user/ubuntu/output/_logs -rw-r--r-- 1 ubuntu supergroup :33 /user/ubuntu/output/part Ergebnis des grep-beispiels $ hadoop-0.20 fs -cat output/part dfs.datanode.plugins 1 dfs.name.dir 1 dfs.namenode.plugins 1 dfs.permissions 1 dfs.replication 1 dfs.thrift.address 1 dfsadmin Zur Kontrolle... $ grep dfs[a-z.] /etc/hadoop-0.20/conf/*.xml /etc/hadoop-0.20/conf/hadoop-policy.xml: dfsadmin and mradmin commands to refresh the security... /etc/hadoop-0.20/conf/hdfs-site.xml: <name>dfs.replication</name> /etc/hadoop-0.20/conf/hdfs-site.xml: <name>dfs.permissions</name> /etc/hadoop-0.20/conf/hdfs-site.xml: <name>dfs.name.dir</name> /etc/hadoop-0.20/conf/hdfs-site.xml: <name>dfs.namenode.plugins</name> /etc/hadoop-0.20/conf/hdfs-site.xml: <name>dfs.datanode.plugins</name> /etc/hadoop-0.20/conf/hdfs-site.xml: <name>dfs.thrift.address</name>

56 Christian Baun, Viktor Mauch 11.Vorlesung Cluster-, Grid- und Cloud-Computing Hochschule Mannheim SS /72 Einfache Beispiele mit der Cloudera-Installation (4) Beispiel zu Word-Count $ hadoop-0.20 fs -mkdir inputwords $ hadoop-0.20 fs -put /etc/hadoop-0.20/conf/*.xml inputwords $ hadoop-0.20 fs -ls inputwords $ hadoop-0.20 jar /usr/lib/hadoop-0.20/hadoop-*-examples.jar wordcount inputwords outputwords 11/06/06 20:46:59 INFO input.fileinputformat: Total input paths to process : 7 11/06/06 20:46:59 INFO mapred.jobclient: Running job: job_ _ /06/06 20:47:00 INFO mapred.jobclient: map 0% reduce 0% 11/06/06 20:47:05 INFO mapred.jobclient: map 28% reduce 0% 11/06/06 20:47:08 INFO mapred.jobclient: map 42% reduce 0% 11/06/06 20:47:10 INFO mapred.jobclient: map 57% reduce 0% 11/06/06 20:47:11 INFO mapred.jobclient: map 71% reduce 0% 11/06/06 20:47:13 INFO mapred.jobclient: map 85% reduce 0% 11/06/06 20:47:14 INFO mapred.jobclient: map 100% reduce 0% 11/06/06 20:47:17 INFO mapred.jobclient: map 100% reduce 100% 11/06/06 20:47:17 INFO mapred.jobclient: Job complete: job_ _ /06/06 20:18:20 INFO mapred.jobclient: Launched reduce tasks= /06/06 20:18:20 INFO mapred.jobclient: Launched map tasks=7...

57 Christian Baun, Viktor Mauch 11.Vorlesung Cluster-, Grid- und Cloud-Computing Hochschule Mannheim SS /72 Einfache Beispiele mit der Cloudera-Installation (5) Ausgabe des Word-Count-Beispiels $ hadoop-0.20 fs -ls outputwords Found 3 items -rw-r--r-- 1 ubuntu supergroup :47 /user/ubuntu/outputwords/_success drwxr-xr-x - ubuntu supergroup :46 /user/ubuntu/outputwords/_logs -rw-r--r-- 1 ubuntu supergroup :47 /user/ubuntu/outputwords/part Ergebnis des Word-Count-Beispiels $ hadoop-0.20 fs -cat outputwords/part based 1 be 20 being 1 below 3 below 2 between 1 beyond 1 blank 12 block 1 by 26...

58 Christian Baun, Viktor Mauch 11.Vorlesung Cluster-, Grid- und Cloud-Computing Hochschule Mannheim SS /72 Mit Cloudera (CDH3) einen Hadoop-Cluster einrichten (1) Diese Anleitung installiert einen verteilten Hadoop-Cluster Distributed Mode (Multi Node Cluster) Die Anleitung orientiert sich an Laufende Cloudera-Dienste beenden $ for x in /etc/init.d/hadoop-* ; do sudo $x stop ; done Alternative Hadoop-Konfigurationen auflisten $ update-alternatives --display hadoop-0.20-conf Standard-Konfiguration kopieren $ sudo cp -r /etc/hadoop-0.20/conf.empty /etc/hadoop-0.20/conf.cluster Neue Konfiguration aktivieren $ sudo update-alternatives --install /etc/hadoop-0.20/conf hadoop-0.20-conf /etc/hadoop-0.20/conf.cluster 50 Neue Konfiguration kontrollieren $ update-alternatives --display hadoop-0.20-conf hadoop-0.20-conf - auto mode link currently points to /etc/hadoop-0.20/conf.cluster /etc/hadoop-0.20/conf.cluster - priority 50 /etc/hadoop-0.20/conf.empty - priority 10 /etc/hadoop-0.20/conf.pseudo - priority 30 Current best version is /etc/hadoop-0.20/conf.cluster.

59 Christian Baun, Viktor Mauch 11.Vorlesung Cluster-, Grid- und Cloud-Computing Hochschule Mannheim SS /72 Mit Cloudera (CDH3) einen Hadoop-Cluster einrichten (2) Eine weitere Instanz (ami-08f40561) starten (= Slave) DNS: ec compute-1.amazonaws.com Alias-Einträge für die Knoten in /etc/hosts einfügen ec compute-1.amazonaws.com master ec compute-1.amazonaws.com slave1 SSH-Client und Server installieren $ sudo apt-get install openssh-server openssh-client SSH-Schlüssel erzeugen, um sich ohne Passwort anzumelden $ ssh-keygen -t rsa -P "" SSH-Schlüssel in $HOME/.ssh/id_rsa.pub auf den Slave-Knoten in $HOME/.ssh/authorized_keys kopieren /etc/hadoop-0.20/conf.cluster/masters Pro Master (Namenode) eine Zeile mit dem öffentlichen DNS oder Alias Hat man mehrere Master (= Datei masters anpassen) In diesem Beispiel steht in der Datei masters nur master

60 Christian Baun, Viktor Mauch 11.Vorlesung Cluster-, Grid- und Cloud-Computing Hochschule Mannheim SS /72 Mit Cloudera (CDH3) einen Hadoop-Cluster einrichten (3) /etc/hadoop-0.20/conf.cluster/slaves Pro Slave-Knoten eine Zeile mit dem öffentlichen DNS oder Alias Slaves sind Knoten mit den Diensten Datanode und/oder Tasktracker In diesem Beispiel steht in der Datei slaves nur slave1 /etc/hadoop-0.20/conf.cluster/core-site.xml <configuration> <property> <name>fs.default.name</name> <value>hdfs://master:54310</value> </property> </configuration> /etc/hadoop-0.20/conf.cluster/mapred-site.xml <configuration> <property> <name>mapred.job.tracker</name> <value>master:54311</value> </property> </configuration>

61 Mit Cloudera (CDH3) einen Hadoop-Cluster einrichten (4) /etc/hadoop-0.20/conf.cluster/hdfs-site.xml <value>1</value> ist die Anzahl der Slaves <configuration> <property> <name>dfs.replication</name> <value>1</value> </property> </configuration> Auf dem Slave die Paketquellen und Schlüssel importieren sowie Hadoop-Pakete installieren $ sudo add-apt-repository "deb maverick partner" $ sudo add-apt-repository "deb maverick-cdh3 contrib" $ sudo curl -s sudo apt-key add - $ sudo apt-get update $ sudo apt-get install sun-java6-jdk $ sudo apt-get install hadoop-0.20-conf-pseudo Verzeichnis /etc/hadoop-0.20/conf.cluster auf den Slave kopieren Auf dem Master: $ sudo apt-get install zip $ sudo zip -r conf.cluster.zip /etc/hadoop-0.20/conf.cluster $ scp conf.cluster.zip slave1:~ Auf dem Slave: $ sudo apt-get install zip $ sudo unzip -d / conf.cluster.zip Christian Baun, Viktor Mauch 11.Vorlesung Cluster-, Grid- und Cloud-Computing Hochschule Mannheim SS /72

62 Christian Baun, Viktor Mauch 11.Vorlesung Cluster-, Grid- und Cloud-Computing Hochschule Mannheim SS /72 Mit Cloudera (CDH3) einen Hadoop-Cluster einrichten (5) Alias-Einträge für die Knoten in /etc/hosts auf dem Slave einfügen ec compute-1.amazonaws.com master ec compute-1.amazonaws.com slave1 Neue Konfiguration auf dem Slave aktivieren $ sudo update-alternatives --install /etc/hadoop-0.20/conf hadoop-0.20-conf /etc/hadoop-0.20/conf.cluster 50 Dienste auf allen Knoten starten, um die Konfiguration zu aktivieren $ for x in /etc/init.d/hadoop-0.20-*; do sudo $x start; done Dienste auf allen Knoten wieder stoppen $ for x in /etc/init.d/hadoop-0.20-*; do sudo $x stop ; done Namenode formatieren $ sudo -u hdfs hadoop namenode -format Dienste auf dem Master (Namenode) starten $ sudo /etc/init.d/hadoop-0.20-namenode start $ sudo /etc/init.d/hadoop-0.20-secondarynamenode start $ sudo /etc/init.d/hadoop-0.20-jobtracker start Dienste auf dem Slave (Datanode) starten $ sudo /etc/init.d/hadoop-0.20-datanode start $ sudo /etc/init.d/hadoop-0.20-tasktracker start Wenn die Dienste starten, hat die Installation des Clusters geklappt

63 Christian Baun, Viktor Mauch 11.Vorlesung Cluster-, Grid- und Cloud-Computing Hochschule Mannheim SS /72 Weboberfläche des Namenode Der Datenode wurde gefunden

64 Christian Baun, Viktor Mauch 11.Vorlesung Cluster-, Grid- und Cloud-Computing Hochschule Mannheim SS /72 Weboberfläche des Namenode Detailansicht Datanodes Detailansicht der Datanodes

65 Christian Baun, Viktor Mauch 11.Vorlesung Cluster-, Grid- und Cloud-Computing Hochschule Mannheim SS /72 Amazon Elastic MapReduce Elastic MapReduce (EMR) ist ein Dienst für virtuelle Hadoop-Cluster Es ist einfacher/schneller mit EMR MapReduce-Jobs zu starten, als einen Hadoop-Cluster manuell in EC2 auszusetzen Speicherung der Quelldaten und Ergebnisse in S3 Informationen zum aktuellen Stand der Hadoop-Jobs werden in SimpleDB gespeichert Maximilian Hoecker. Hadoop as a Service (HaaaS) auf Basis von Eucalyptus und Cloudera. Bachelorthesis. HS-Mannheim 2011

66 Christian Baun, Viktor Mauch 11.Vorlesung Cluster-, Grid- und Cloud-Computing Hochschule Mannheim SS /72 Amazon Elastic MapReduce (EMR) Um eine MapReduce-Anwendung zu starten, muss ein Job-Flow definiert sein Ein Job-Flow ist eine Konfiguration eines Hadoop-Clusters (in EC2) Die Konfiguration beinhaltet u.a. den Instanztyp und MapReduce-Parameter Jeder Job-Flow ist in Steps aufgeteilt Ein Step ist entweder ein MapReduce-Step (MapReduce-Anwendung) oder ein Konfigurationsstep (Konfigurationsskript oder Konfigurationsbefehl um die EC2-Instanzen zu konfigurieren) EMR führt alle Steps sequentiell aus EMR führt als erstes die Konfigurationssteps durch, um zuerst den Cluster zu konfigurieren und anschließend die MapReduce-Anwendungen auszuführen Job-Flows können mit Kommandozeilenwerkzeugen, in der Weboberfläche und über die SOAP- und REST-Schnittstellen angelegt und gestartet werden

67 EMR Definition eines Job-Flows Die Definition eines Job-Flows besteht aus vier Informationsbereichen 1 Jobart Definiert, ob der Job eine eigene JAR-Datei, ein Pig-Skript, ein Hive-Skript oder ein Hadoop Streaming-Programm sein soll Die Jobarten Pig und Hive können auch interaktiv gestartet werden Interaktiven Jobarten stellen nach dem Start des Clusters einen SSH Port bereit, auf dem die Pig- oder Hive-Shell kontrolliert werden kann 2 Jobparameter Jobparameter fallen nur bei interaktionslosen Jobs an Die Parameter definieren die Buckets zur Ein- und Ausgabe sowie den Speicherort des Skripts bzw. der JAR-Datei 3 Instanzparameter Instanztypen der zu startenden Instanzen in EC2 Mit aktiver Debugging-Option schreibt Hadoop die controller-, stderr-, stdout- und syslog-ausgaben nach dem Ausführen in den angegebenen S3-Bucket 4 Bootstrap Konfigurationsoptionen für Hadoop und/oder dessen Hintergrunddienste (Daemons) Christian Baun, Viktor Mauch 11.Vorlesung Cluster-, Grid- und Cloud-Computing Hochschule Mannheim SS /72

68 Christian Baun, Viktor Mauch 11.Vorlesung Cluster-, Grid- und Cloud-Computing Hochschule Mannheim SS /72 EMR Ablauf eines Job-Flows Sind die Programme/Skripte und die Eingabedaten in die jeweils eingestellten S3 Buckets geladen, kann ein Job-Flow gestartet werden Während der Laufzeit kann ein Job-Flow sieben Zustände erreichen 1 Completed Alle Steps sind abgeschlossen und der Hadoop-Cluster heruntergefahren 2 Failed Es ist ein Fehler in einem Step aufgetreten und der Hadoop-Cluster wurde heruntergefahren 3 Running Ein Step ist in Bearbeitung 4 Shutting Down Der Hadoop-Cluster fährt herunter und die Instanzen werden terminiert 5 Starting EMR startet, installiert und konfiguriert einen Hadoop-Cluster 6 Terminated Der Kunde hat den Job-Flow abgebrochen 7 Waiting Das Hadoop-Cluster wartet auf einen weiteren Job

69 EMR Erfolgreicher Ablauf eines Job-Flows Ein erfolgreicher Ablauf eines Job-Flows besteht aus vier Schritten 1 Clusterstart EMR startet die im Job-Flow konfigurierte Anzahl von EC2-Instanzen Die Anzahl der Worker Nodes des Clusters ist immer entsprechend der konfigurierten Anzahl der EC2-Instanzen Das gestartete Image ist ein von Amazon gebündeltes Image mit Hadoop Nach dem Start der Instanzen installiert EMR, abhängig von der Job-Flow-Definition, Hadoop-Erweiterungen (z.b. Pig) 2 Download der Eingabedaten: Der gestartete Hadoop-Cluster lädt die Eingabedaten aus dem angegebenen S3 Bucket in das verteilte Dateisystem (HDFS) 3 Hadoop-Jobausführung Der Hadoop-Cluster führt den MapReduce-Job aus 4 Upload der Ausgabedaten: Die Ausführung des MapReduce-Jobs ist beendet Der Cluster kopiert die Ausgabedaten in den angegebenen S3 Bucket Christian Baun, Viktor Mauch 11.Vorlesung Cluster-, Grid- und Cloud-Computing Hochschule Mannheim SS /72

70 Christian Baun, Viktor Mauch 11.Vorlesung Cluster-, Grid- und Cloud-Computing Hochschule Mannheim SS /72 Kosten von EMR Amazon verlangt für EMR einen Aufpreis gegenüber EC2

11.Vorlesung Cluster-, Grid- und Cloud-Computing Hochschule Mannheim

11.Vorlesung Cluster-, Grid- und Cloud-Computing Hochschule Mannheim Dr. Christian Baun 11.Vorlesung Cluster-, Grid- und Cloud-Computing Hochschule Mannheim WS1112 1/80 11.Vorlesung Cluster-, Grid- und Cloud-Computing Hochschule Mannheim Dr. Christian Baun wolkenrechnen@gmail.com

Mehr

MapReduce in der Praxis

MapReduce in der Praxis MapReduce in der Praxis Rolf Daniel Seminar Multicore Programmierung 09.12.2010 1 / 53 Agenda Einleitung 1 Einleitung 2 3 Disco Hadoop BOOM 4 2 / 53 1 Einleitung 2 3 Disco Hadoop BOOM 4 3 / 53 Motivation

Mehr

Einführung in Hadoop

Einführung in Hadoop Einführung in Hadoop Inhalt / Lern-Ziele Übersicht: Basis-Architektur von Hadoop Einführung in HDFS Einführung in MapReduce Ausblick: Hadoop Ökosystem Optimierungen Versionen 10.02.2012 Prof. Dr. Christian

Mehr

Hadoop aus IT-Operations Sicht Teil 1 Hadoop-Grundlagen

Hadoop aus IT-Operations Sicht Teil 1 Hadoop-Grundlagen Hadoop aus IT-Operations Sicht Teil 1 Hadoop-Grundlagen Brownbag am Freitag, den 26.07.2013 Daniel Bäurer inovex GmbH Systems Engineer Wir nutzen Technologien, um unsere Kunden glücklich zu machen. Und

Mehr

Hadoop Demo HDFS, Pig & Hive in Action. Oracle DWH Konferenz 2014 Carsten Herbe

Hadoop Demo HDFS, Pig & Hive in Action. Oracle DWH Konferenz 2014 Carsten Herbe Hadoop Demo HDFS, Pig & Hive in Action Oracle DWH Konferenz 2014 Carsten Herbe Wir wollen eine semi-strukturierte Textdatei in Hadoop verarbeiten und so aufbereiten, dass man die Daten relational speichern

Mehr

Hadoop. Simon Prewo. Simon Prewo

Hadoop. Simon Prewo. Simon Prewo Hadoop Simon Prewo Simon Prewo 1 Warum Hadoop? SQL: DB2, Oracle Hadoop? Innerhalb der letzten zwei Jahre hat sich die Datenmenge ca. verzehnfacht Die Klassiker wie DB2, Oracle usw. sind anders konzeptioniert

Mehr

Datenbearbeitung in der Cloud anhand von Apache Hadoop Hochschule Mannheim

Datenbearbeitung in der Cloud anhand von Apache Hadoop Hochschule Mannheim Tobias Neef Cloud-Computing Seminar Hochschule Mannheim WS0910 1/23 Datenbearbeitung in der Cloud anhand von Apache Hadoop Hochschule Mannheim Tobias Neef Fakultät für Informatik Hochschule Mannheim tobnee@gmail.com

Mehr

Hadoop. High Performance Batches in der Cloud. Hadoop. Folie 1 25. Januar 2011

Hadoop. High Performance Batches in der Cloud. Hadoop. Folie 1 25. Januar 2011 High Performance Batches in der Cloud Folie 1 Alles geht in die Cloud Image: Chris Sharp / FreeDigitalPhotos.net Cloud und Batches passen zusammen Batches Cloud Pay-per-Use Nur zeitweise genutzt Hohe Rechenkapazitäten

Mehr

SEMT. Prof. G. Bengel. Searching as a Service (Programming Model: MapReduce)

SEMT. Prof. G. Bengel. Searching as a Service (Programming Model: MapReduce) Hochschule Mannheim Fakultät für Informatik SEMT Prof. G. Bengel Sommersemester 2009 Semester 8I Searching as a Service (Programming Model: MapReduce) Michel Schmitt (520361) 1.06.2009 Inhalt 1. Einführung...

Mehr

Verteilte Systeme. Map Reduce. Secure Identity Research Group

Verteilte Systeme. Map Reduce. Secure Identity Research Group Verteilte Systeme Map Reduce Map Reduce Problem: Ein Rechen-Job (meist Datenanalyse/Data-Mining) soll auf einer riesigen Datenmenge ausgeführt werden. Teile der Aufgabe sind parallelisierbar, aber das

Mehr

Apache Hadoop. Distribute your data and your application. Bernd Fondermann freier Software Architekt bernd.fondermann@brainlounge.de berndf@apache.

Apache Hadoop. Distribute your data and your application. Bernd Fondermann freier Software Architekt bernd.fondermann@brainlounge.de berndf@apache. Apache Hadoop Distribute your data and your application Bernd Fondermann freier Software Architekt bernd.fondermann@brainlounge.de berndf@apache.org Apache The Apache Software Foundation Community und

Mehr

Neue Ansätze der Softwarequalitätssicherung

Neue Ansätze der Softwarequalitätssicherung Neue Ansätze der Softwarequalitätssicherung Googles MapReduce-Framework für verteilte Berechnungen am Beispiel von Apache Hadoop Universität Paderborn Fakultät für Elektrotechnik, Informatik und Mathematik

Mehr

Hadoop aus IT-Operations Sicht Teil 2 Hardware- und Netzwerk-Grundlagen

Hadoop aus IT-Operations Sicht Teil 2 Hardware- und Netzwerk-Grundlagen Hadoop aus IT-Operations Sicht Teil 2 Hardware- und Netzwerk-Grundlagen Brownbag am Freitag, den 09.08.2013 Daniel Bäurer inovex GmbH Systems Engineer Wir nutzen Technologien, um unsere Kunden glücklich

Mehr

APACHE PIG SEMINARARBEIT SSE - WS12/13 SEBASTIAN WALTHER

APACHE PIG SEMINARARBEIT SSE - WS12/13 SEBASTIAN WALTHER APACHE PIG SEMINARARBEIT SSE - WS12/13 SEBASTIAN WALTHER INHALT Das Hadoop Framework Hadoop s Distributed File System (HDFS) MapReduce Apache Pig Was ist Apache Pig & Pig Latin Anwendungsumgebungen Unterschied

Mehr

5.Vorlesung Cluster-, Grid- und Cloud-Computing Hochschule Mannheim

5.Vorlesung Cluster-, Grid- und Cloud-Computing Hochschule Mannheim Christian Baun 5.Vorlesung Cluster-, Grid- und Cloud-Computing Hochschule Mannheim WS1112 1/36 5.Vorlesung Cluster-, Grid- und Cloud-Computing Hochschule Mannheim Christian Baun Karlsruher Institut für

Mehr

Big Data in Azure. Ein Beispiel mit HD Insight. Ralf Stemmer

Big Data in Azure. Ein Beispiel mit HD Insight. Ralf Stemmer Big in Azure Ein Beispiel mit HD Insight Ralf Stemmer Agenda owas ist Big? Was ist HD Insight? owelche Probleme kann man damit lösen? odemo Was ist Big? Was ist HD Insight? Datenexplosion - Rasanter Zuwachs

Mehr

Dateisysteme und Datenverwaltung in der Cloud

Dateisysteme und Datenverwaltung in der Cloud Dateisysteme und Datenverwaltung in der Cloud Sebastian Fischer Master-Seminar Cloud Computing - WS 2013/14 Institut für Telematik, Universität zu Lübeck Dateisysteme und Datenverwaltung in der Cloud 1

Mehr

Einführung in Hadoop & MapReduce. Dr. Kathrin Spreyer Big Data Engineer

Einführung in Hadoop & MapReduce. Dr. Kathrin Spreyer Big Data Engineer Einführung in Hadoop & MapReduce Dr. Kathrin Spreyer Big Data Engineer München, 19.06.2013 Agenda Einleitung 1. HDFS 2. MapReduce 3. APIs 4. Hive & Pig 5. Mahout Tools aus Hadoop-Ökosystem 6. HBase 2 Worum

Mehr

Perzentile mit Hadoop ermitteln

Perzentile mit Hadoop ermitteln Perzentile mit Hadoop ermitteln Ausgangspunkt Ziel dieses Projektes war, einen Hadoop Job zu entwickeln, der mit Hilfe gegebener Parameter Simulationen durchführt und aus den Ergebnissen die Perzentile

Mehr

Verteilte Dateisysteme in der Cloud

Verteilte Dateisysteme in der Cloud Verteilte Dateisysteme in der Cloud Cloud Data Management Maria Moritz Seminar Cloud Data Management WS09/10 Universität Leipzig 1 Inhalt 1.) Anforderungen an verteilte Dateisysteme 2.) GoogleFS 3.) Hadoop

Mehr

Big Data. Prof. Robert Jäschke Forschungszentrum L3S Leibniz Universität Hannover

Big Data. Prof. Robert Jäschke Forschungszentrum L3S Leibniz Universität Hannover Big Data Prof. Robert Jäschke Forschungszentrum L3S Leibniz Universität Hannover Agenda Was ist Big Data? Parallele Programmierung Map/Reduce Der Big Data Zoo 2 3Vs oder: Was ist Big Data? Deutsche Telekom:

Mehr

GPU-basierte Beschleunigung von MapReduce am Beispiel von OpenCL und Hadoop

GPU-basierte Beschleunigung von MapReduce am Beispiel von OpenCL und Hadoop am Beispiel von OpenCL und Masterseminar Hochschule für Technik, Wirtschaft und Kultur Leipzig Leipzig, 02.11.2011 Gliederung 1 Grundlagen 2 3 Gliederung 1 Grundlagen 2 3 Was ist? Clustersystem zur verteilten

Mehr

Big Data Lösungen mit Apache Hadoop. Gunnar Schröder, T-Systems Multimedia Solutions GmbH

Big Data Lösungen mit Apache Hadoop. Gunnar Schröder, T-Systems Multimedia Solutions GmbH Big Data Lösungen mit Apache Hadoop Gunnar Schröder, T-Systems Multimedia Solutions GmbH Was ist Big Data? 2 Charakteristiken von Big Data Three Vs of Big Data VOLUME Terabytes Petabytes Exabytes Zettabytes

Mehr

Oracle Data Warehouse Mit Big Data neue Horizonte für das Data Warehouse ermöglichen

Oracle Data Warehouse Mit Big Data neue Horizonte für das Data Warehouse ermöglichen DATA WAREHOUSE Oracle Data Warehouse Mit Big Data neue Horizonte für das Data Warehouse ermöglichen Alfred Schlaucher, Detlef Schroeder DATA WAREHOUSE Themen Big Data Buzz Word oder eine neue Dimension

Mehr

Wide Column Stores. Felix Bruckner Mannheim, 15.06.2012

Wide Column Stores. Felix Bruckner Mannheim, 15.06.2012 Wide Column Stores Felix Bruckner Mannheim, 15.06.2012 Agenda Einführung Motivation Grundlagen NoSQL Grundlagen Wide Column Stores Anwendungsfälle Datenmodell Technik Wide Column Stores & Cloud Computing

Mehr

Hadoop & SQL Oracle BI & DWH Konferenz 2013 19./20. März 2013, Kassel. Carsten Herbe metafinanz Informationssysteme GmbH

Hadoop & SQL Oracle BI & DWH Konferenz 2013 19./20. März 2013, Kassel. Carsten Herbe metafinanz Informationssysteme GmbH Hadoop & SQL Oracle BI & DWH Konferenz 2013 19./20. März 2013, Kassel Carsten Herbe metafinanz Informationssysteme GmbH In unserer Business Line Business Intelligence & Risk gibt es fünf Bereiche: Risk,

Mehr

Clouds. Erwartungen der Nutzer. Wolkig bis Heiter. (c) 2013, Peter Sturm, Universität Trier. Er ist verwöhnt! Er ist nicht dankbar!

Clouds. Erwartungen der Nutzer. Wolkig bis Heiter. (c) 2013, Peter Sturm, Universität Trier. Er ist verwöhnt! Er ist nicht dankbar! Clouds Wolkig bis Heiter Erwartungen der Nutzer Er ist verwöhnt! Verfügbarkeit Viele Anwendungen Intuitive Interfaces Hohe Leistung Er ist nicht dankbar! Mehr! Mehr! Mehr! Moore 1 Erwartungen der Entwickler

Mehr

BigTable. 11.12.2012 Else

BigTable. 11.12.2012 Else BigTable 11.12.2012 Else Einführung Distributed Storage System im Einsatz bei Google (2006) speichert strukturierte Daten petabyte-scale, > 1000 Nodes nicht relational, NoSQL setzt auf GFS auf 11.12.2012

Mehr

on Azure mit HDInsight & Script Ac2ons

on Azure mit HDInsight & Script Ac2ons Willkommen beim #GAB 2015! on Azure mit HDInsight & Script Ac2ons Lokale Sponsoren: HansPeter Grahsl Netconomy Entwickler & Berater FH CAMPUS 02 Twi9er: @hpgrahsl Überblick Inhalte Was ist HDInsight? Wozu

Mehr

Hadoop in a Nutshell Einführung HDFS und MapReduce. Oracle/metafinanz Roadshow Februar 2014

Hadoop in a Nutshell Einführung HDFS und MapReduce. Oracle/metafinanz Roadshow Februar 2014 Hadoop in a Nutshell Einführung HDFS und MapReduce Oracle/metafinanz Roadshow Februar 2014 Head of Data Warehousing DWH Principal Consultant DWH Senior Consultant Wir fokussieren mit unseren Services die

Mehr

Verteiltes Backup. Einleitung Grundlegende Backup Techniken Backup in Netzwerken. Client/Server Peer-to-Peer

Verteiltes Backup. Einleitung Grundlegende Backup Techniken Backup in Netzwerken. Client/Server Peer-to-Peer Verteiltes Backup Einleitung Grundlegende Backup Techniken Backup in Netzwerken Client/Server Peer-to-Peer Einleitung Backup: Das teilweise oder gesamte Kopieren der in einem Computersystem vorhandenen

Mehr

Data Mining in der Cloud

Data Mining in der Cloud Data Mining in der Cloud von Jan-Christoph Meier Hamburg, 21.06.2012 1 Ablauf Einführung Verwandte Arbeiten Fazit / Ausblick Literatur 2 Ablauf Einführung Verwandte Arbeiten Fazit / Ausblick Literatur

Mehr

Cloud-Computing. 1. Definition 2. Was bietet Cloud-Computing. 3. Technische Lösungen. 4. Kritik an der Cloud. 2.1 Industrie 2.

Cloud-Computing. 1. Definition 2. Was bietet Cloud-Computing. 3. Technische Lösungen. 4. Kritik an der Cloud. 2.1 Industrie 2. Cloud Computing Frank Hallas und Alexander Butiu Universität Erlangen Nürnberg, Lehrstuhl für Hardware/Software CoDesign Multicorearchitectures and Programming Seminar, Sommersemester 2013 1. Definition

Mehr

Spark, Impala und Hadoop in der Kreditrisikoberechnung

Spark, Impala und Hadoop in der Kreditrisikoberechnung Spark, Impala und Hadoop in der Kreditrisikoberechnung Big Data In-Memory-Technologien für mittelgroße Datenmengen TDWI München, 22. Juni 2015 Joschka Kupilas, Data Scientist, Adastra GmbH 2 Inhalt Vorwort

Mehr

MapReduce-Konzept. Thomas Findling, Thomas König

MapReduce-Konzept. Thomas Findling, Thomas König MapReduce - Konzept 1 Inhalt 1. Motivation 2. Einführung MapReduce Google Rechenzentren Vergleich MapReduce und Relationale DBS 3. Hadoop Funktionsweise Input / Output Fehlerbehandlung 4. Praxis-Beispiel

Mehr

Cloud Computing mit mathematischen Anwendungen

Cloud Computing mit mathematischen Anwendungen Cloud Computing mit mathematischen Anwendungen Vorlesung SoSe 2009 Dr. Marcel Kunze Karlsruhe Institute of Technology (KIT) Steinbuch Centre for Computing (SCC) KIT the cooperation of Forschungszentrum

Mehr

KURZANLEITUNG DUPLICITY MIT CLOUD OBJECT STORAGE

KURZANLEITUNG DUPLICITY MIT CLOUD OBJECT STORAGE KURZANLEITUNG DUPLICITY MIT CLOUD OBJECT STORAGE Version 1.12 01.07.2014 SEITE _ 2 INHALTSVERZEICHNIS 1. Einleitung...Seite 03 2. Einrichtung des Systems...Seite 04 3. Erzeugen eines Backup-Skripts...Seite

Mehr

Big Data Hype und Wirklichkeit Bringtmehrauchmehr?

Big Data Hype und Wirklichkeit Bringtmehrauchmehr? Big Data Hype und Wirklichkeit Bringtmehrauchmehr? Günther Stürner, Vice President Sales Consulting 1 Copyright 2011, Oracle and/or its affiliates. All rights Überschrift 2 Copyright 2011, Oracle and/or

Mehr

Hadoop und Zookeeper

Hadoop und Zookeeper AG June 5, 2010 Outline MapReduce paper MapReduce abstract wenn s mal ein paar Daten mehr sind... im großen geht immer was schief Herausforderungen an Applikationen Daten Redundanz Knotensterben einplanen

Mehr

HDFS als schneller und günstiger Storage?

HDFS als schneller und günstiger Storage? HDFS als schneller und günstiger Storage? Das Hadoop Distributed File System (HDFS) verwaltet spielend riesige Datenmengen, lässt sich im laufenden Betrieb bequem skalieren und ist komfortabel zu administrieren.

Mehr

PostgreSQL unter Debian Linux

PostgreSQL unter Debian Linux Einführung für PostgreSQL 7.4 unter Debian Linux (Stand 30.04.2008) von Moczon T. und Schönfeld A. Inhalt 1. Installation... 2 2. Anmelden als Benutzer postgres... 2 2.1 Anlegen eines neuen Benutzers...

Mehr

WEBINAR@LUNCHTIME THEMA: SAS TOOLS FÜR DIE DATENVERARBEITUNG IN HADOOP ODER WIE REITET MAN ELEFANTEN?" HANS-JOACHIM EDERT

WEBINAR@LUNCHTIME THEMA: SAS TOOLS FÜR DIE DATENVERARBEITUNG IN HADOOP ODER WIE REITET MAN ELEFANTEN? HANS-JOACHIM EDERT WEBINAR@LUNCHTIME THEMA: SAS TOOLS FÜR DIE DATENVERARBEITUNG IN HADOOP ODER WIE REITET MAN ELEFANTEN?" Copyr i g ht 2012, SAS Ins titut e Inc. All rights res er ve d. HANS-JOACHIM EDERT EBINAR@LUNCHTIME

Mehr

Cloud-Plattform: Appscale Hochschule Mannheim

Cloud-Plattform: Appscale Hochschule Mannheim Florian Weispfenning Cloud-Computing Seminar Hochschule Mannheim WS0910 1/28 Cloud-Plattform: Appscale Hochschule Mannheim Florian Weispfenning Fakultät für Informatik Hochschule Mannheim florian.weispfenning@stud.hs-mannheim.de

Mehr

Hadoop as a Service (HaaaS) auf Basis von Eucalyptus und Cloudera

Hadoop as a Service (HaaaS) auf Basis von Eucalyptus und Cloudera Hadoop as a Service (HaaaS) auf Basis von Eucalyptus und Cloudera Maximilian Hoecker B A C H E LORARBEIT MatrikelNr. 626023 eingereicht am Bachelorstudiengang Informatik an der Hochschule Mannheim im Juli

Mehr

Typo 3 installieren. Schritt 1: Download von Typo3

Typo 3 installieren. Schritt 1: Download von Typo3 Typo 3 installieren Bevor Sie Typo3 installieren, müssen Sie folgende Informationen beachten: Typo3 benötigt eine leere Datenbank. Mit Ihrem Abonnement verfügen Sie über eine einzige Datenbank. Sie können

Mehr

Aufbau von Cloud-Infrastrukturen mit Eucalyptus

Aufbau von Cloud-Infrastrukturen mit Eucalyptus Michael Stapelberg Cloud-Computing Seminar Universität Heidelberg SS2009 1/34 Aufbau von Cloud-Infrastrukturen mit Eucalyptus Michael Stapelberg Universität Heidelberg Stapelberg@stud.uni-heidelberg.de

Mehr

Installation Anleitung für JTheseus und MS SQL Server 2000

Installation Anleitung für JTheseus und MS SQL Server 2000 Installation Anleitung für JTheseus und MS SQL Server 2000 Inhaltsverzeichnis 1 Installation der Datenbank 3 1.1 Erstellen der Datenbank 3 1.2 Tabellen und Minimal Daten einlesen 4 1.3 Benutzer JTheseus

Mehr

Oracle Big Data Technologien Ein Überblick

Oracle Big Data Technologien Ein Überblick Oracle Big Data Technologien Ein Überblick Ralf Lange Global ISV & OEM Sales NoSQL: Eine kurze Geschichte Internet-Boom: Erste Ansätze selbstgebauter "Datenbanken" Google stellt "MapReduce"

Mehr

MySQL Schulung - Zusammenfassung

MySQL Schulung - Zusammenfassung MySQL Schulung - Zusammenfassung Marcel Noe 9.10-20.10.2006 Kapitel 1 1.1 MySQL Einführung 1.1.1 Einleitung Bei MySQL handelt es sich um einen sehr skalierbares Datenbank-Management System. MySQL wird

Mehr

Big Data in a Nutshell. Dr. Olaf Flebbe of ät oflebbe.de

Big Data in a Nutshell. Dr. Olaf Flebbe of ät oflebbe.de Big Data in a Nutshell Dr. Olaf Flebbe of ät oflebbe.de Zu mir Bigdata Projekt, benutzt Apache Bigtop Linux seit Anfang vor Minix/ATARI Linuxtag 2001? Promoviert in Computational Physics in Tü Seit Jan

Mehr

MapReduce mit Hadoop 08.11.12 1

MapReduce mit Hadoop 08.11.12 1 MapReduce mit Hadoop 08.11.12 1 Lernziele / Inhalt Wiederholung MapReduce Map in Hadoop Reduce in Hadoop Datenfluss Erste Schritte Alte vs. neue API Combiner Functions mehr als Java 08.11.12 2 Wiederholung

Mehr

DATENBANKEN SQL UND SQLITE VON MELANIE SCHLIEBENER

DATENBANKEN SQL UND SQLITE VON MELANIE SCHLIEBENER DATENBANKEN SQL UND SQLITE VON MELANIE SCHLIEBENER INHALTSVERZEICHNIS 1. Datenbanken 2. SQL 1.1 Sinn und Zweck 1.2 Definition 1.3 Modelle 1.4 Relationales Datenbankmodell 2.1 Definition 2.2 Befehle 3.

Mehr

MapReduce. Johann Volz. 3. Juni 2010. Zusammenfassung

MapReduce. Johann Volz. 3. Juni 2010. Zusammenfassung MapReduce Johann Volz 3. Juni 2010 Zusammenfassung Bei der Verarbeitung von Datenmengen, die hunderte oder gar tausende Computer zur Fertigstellung in der gewünschten Zeit brauchen, muss man sich nicht

Mehr

SQL structured query language

SQL structured query language Umfangreiche Datenmengen werden üblicherweise in relationalen Datenbank-Systemen (RDBMS) gespeichert Logische Struktur der Datenbank wird mittels Entity/Realtionship-Diagrammen dargestellt structured query

Mehr

Thema: Das MapReduce-Framework

Thema: Das MapReduce-Framework Software as a Service Cloud Computing und aktuelle Entwicklungen Seminararbeit Thema: Das MapReduce-Framework Betreuer: Prof. Dr. Klaus Küspert Dipl.-Inf. Andreas Göbel Nicky Kuhnt Friedrich-Schiller-Universität

Mehr

Installationsanleitung Tivoli Storage Manager für Linux

Installationsanleitung Tivoli Storage Manager für Linux 11. März 2009, Version 1.0 Installationsanleitung für Linux Verwaltungsdirektion Informatikdienste Installationsanleitung für Linux Inhaltsverzeichnis...1 Installation... 1 Voraussetzungen...1 Ablauf der

Mehr

IBM SPSS Collaboration and Deployment Services (C&DS) version 7

IBM SPSS Collaboration and Deployment Services (C&DS) version 7 Dieses Handbuch richtet sich an Systemadministratoren, die IBM SPSS Modeler Entity Analytics (EA) für die Ausführung mit einem der folgenden Produkte konfigurieren: IBM SPSS Collaboration and Deployment

Mehr

Publizieren von Webs mit SmartFTP

Publizieren von Webs mit SmartFTP Publizieren von Webs mit SmartFTP Informationen FTP steht für File Transfer Protocol. Ein Protokoll ist eine Sprache, die es Computern ermöglicht, miteinander zu kommunizieren. FTP ist das Standardprotokoll

Mehr

docker.io Secure And Portable Containers Made Easy Jürgen Brunk München, 30.04.2014

docker.io Secure And Portable Containers Made Easy Jürgen Brunk München, 30.04.2014 Secure And Portable Containers Made Easy Jürgen Brunk München, 30.04.2014 Agenda 1. Was ist Docker? 2. Was sind Container? 3. Warum Docker? 4. Architektur 5. Praxis 6. Docker unter Ubuntu installieren

Mehr

Linux im Studium. Serbest Hammade / Resh, Christian Sturm. Do, 15. November 2012

Linux im Studium. Serbest Hammade / Resh, Christian Sturm. Do, 15. November 2012 Linux im Studium Serbest Hammade / Resh, Christian Sturm Do, 15. November 2012 Linux Aufbau von Linux Distributionen Grafische Desktopumgebungen HFU & Linux Instant Messaging via Jabber (XMPP) HFU & Jabber

Mehr

Seminar Cloud Data Management WS09/10. Tabelle1 Tabelle2

Seminar Cloud Data Management WS09/10. Tabelle1 Tabelle2 Seminar Cloud Data Management WS09/10 Tabelle1 Tabelle2 1 Einführung DBMS in der Cloud Vergleich verschiedener DBMS Beispiele Microsoft Azure Amazon RDS Amazon EC2 Relational Databases AMIs Was gibt es

Mehr

Teamprojekt & Projekt

Teamprojekt & Projekt 18. Oktober 2010 Teamprojekt & Projekt Veranstalter: Betreuer: Prof. Dr. Georg Lausen Thomas Hordnung, Alexander Schätzle, Martin Przjyaciel-Zablocki dbis Studienordnung Master: 16 ECTS 480 Semesterstunden

Mehr

Universität Karlsruhe (TH)

Universität Karlsruhe (TH) Universität Karlsruhe (TH) Forschungsuniversität gegründet 1825 Software Engineering für moderne, parallele Plattformen 10. MapReduce Dr. Victor Pankratius Agenda Motivation Der MapReduce-Ansatz Map- und

Mehr

LAMP HowTo (Linux Apache MySQL PHP) Zugriff per SSH auf den Server. Servername: gyko.no-ip.info (Lokal: 192.168.2.10)

LAMP HowTo (Linux Apache MySQL PHP) Zugriff per SSH auf den Server. Servername: gyko.no-ip.info (Lokal: 192.168.2.10) LAMP HowTo (Linux Apache MySQL PHP) Zugriff per SSH auf den Server Servername: gyko.no-ip.info (Lokal: 192.168.2.10) Stand: 04-2014 Warum Zugriff auf einen Server per SSH? Zunächst einmal möchte ich, dass

Mehr

Debian Installer Basics

Debian Installer Basics Debian Installer Basics Zinching Dang 09. Mai 2014 1 Debian Installer Debian Installer Installationsmedium für Debian verschiedene Typen: CD- und DVD-Installer: für Installation ohne oder mit langsamen

Mehr

Apache Lucene. Mach s wie Google! Bernd Fondermann freier Software Architekt bernd.fondermann@brainlounge.de berndf@apache.org

Apache Lucene. Mach s wie Google! Bernd Fondermann freier Software Architekt bernd.fondermann@brainlounge.de berndf@apache.org Apache Lucene Mach s wie Google! Bernd Fondermann freier Software Architekt bernd.fondermann@brainlounge.de berndf@apache.org 1 Apache Apache Software Foundation Software free of charge Apache Software

Mehr

webpdf für VMware SoftVision Development GmbH Kurfürstenstraße 15 36037 Fulda, Deutschland Tel.: +49 (0)661 25100-0 Fax: +49 (0)661 25100-25

webpdf für VMware SoftVision Development GmbH Kurfürstenstraße 15 36037 Fulda, Deutschland Tel.: +49 (0)661 25100-0 Fax: +49 (0)661 25100-25 webpdf für VMware SoftVision Development GmbH Kurfürstenstraße 15 36037 Fulda, Deutschland Tel.: +49 (0)661 25100-0 Fax: +49 (0)661 25100-25 E-Mail: sales@softvision.de Web: www.softvision.de Inhaltsverzeichnis

Mehr

Oracle 10g und SQL Server 2005 ein Vergleich. Thomas Wächtler 39221

Oracle 10g und SQL Server 2005 ein Vergleich. Thomas Wächtler 39221 Oracle 10g und SQL Server 2005 ein Vergleich Thomas Wächtler 39221 Inhalt 1. Einführung 2. Architektur SQL Server 2005 1. SQLOS 2. Relational Engine 3. Protocol Layer 3. Services 1. Replication 2. Reporting

Mehr

http://bcloud.brennercom.it/de/brennercom-b-cloud/applikationen/26-0.html

http://bcloud.brennercom.it/de/brennercom-b-cloud/applikationen/26-0.html b.backup Handbuch Windows Dieser Abschnitt beschreibt die grundlegenden Funktionen des Backup Client und die Vorgehensweise für die Installation und Aktivierung. Außerdem wird erläutert, wie man eine Datensicherung

Mehr

Workbooster File Exchanger Command Line Tool

Workbooster File Exchanger Command Line Tool Thema Technische Benutzerdokumentation - WBFileExchanger Workbooster File Exchanger Command Line Tool Letzte Anpassung 18. Januar 2014 Status / Version Finale Version - V 1.1 Summary Erstellung Diese technische

Mehr

Managed Cloud Services

Managed Cloud Services Managed Cloud Services Autor.: Monika Olschewski Whitepaper Version: 1.0 Erstellt am: 14.07.2010 ADACOR Hosting GmbH Kaiserleistrasse 51 63067 Offenbach am Main info@adacor.com www.adacor.com Cloud Services

Mehr

Session Storage im Zend Server Cluster Manager

Session Storage im Zend Server Cluster Manager Session Storage im Zend Server Cluster Manager Jan Burkl System Engineer, Zend Technologies Agenda Einführung in Zend Server und ZSCM Überblick über PHP Sessions Zend Session Clustering Session Hochverfügbarkeit

Mehr

Aufbau eigener Cloud-Infrastrukturen mit Eucalyptus Hochschule Mannheim

Aufbau eigener Cloud-Infrastrukturen mit Eucalyptus Hochschule Mannheim Andreas Ries Cloud-Computing Seminar Hochschule Mannheim WS0910 1/26 Aufbau eigener Cloud-Infrastrukturen mit Eucalyptus Hochschule Mannheim Andreas Ries Fakultät für Informatik Hochschule Mannheim ries.andreas@web.de

Mehr

http://www.cis.upenn.edu/~bcpierce/unison/download/stable/unison- 2.9.1/

http://www.cis.upenn.edu/~bcpierce/unison/download/stable/unison- 2.9.1/ Einführung Was ist Unison? Unison ist ein Dateisynchronisationsprogramm für Windows und Unix. Es teilt sich viele Funktionen mit anderen Programmen, wie z.b. CVS und rsync. Folgend einige Vorteile des

Mehr

Installation unter LINUX mit PostgreSQL DB

Installation unter LINUX mit PostgreSQL DB Installation unter LINUX mit PostgreSQL DB Inhaltsverzeichnis 1. Installation und Konfiguration der PostgreSQL Datenbank... 3 2. Installation von Intrexx Xtreme 4.5... 5 Schreibkonventionen In diesem Handbuch

Mehr

MGE Datenanbindung in GeoMedia

MGE Datenanbindung in GeoMedia TIPPS & TRICKS MGE Datenanbindung in GeoMedia 10. September 2002 / AHU INTERGRAPH (Schweiz) AG Neumattstrasse 24, CH 8953 Dietikon Tel: 043 322 46 46 Fax: 043 322 46 10 HOTLINE: Telefon: 043 322 46 00

Mehr

Mit Putty und SSH Key auf einen Linux Server zugreifen. Vorbereitungen auf dem Client Rechner

Mit Putty und SSH Key auf einen Linux Server zugreifen. Vorbereitungen auf dem Client Rechner Mit Putty und SSH Key auf einen Linux Server zugreifen Verwendete Rechner: Client: Windows XP Professional, Putty 2007 - Version 8.2 Server: Ubuntu 10.10 Maverick Meerkat / OpenSSH Vorbereitungen auf dem

Mehr

Eutaxa Installationsanleitung

Eutaxa Installationsanleitung Eutaxa Installationsanleitung Überprüfen Sie zuerst, ob die technischen Voraussetzungen für eine Installation der Software auf Ihrem Computer gegeben sind. Windows Betriebssysteme: ME, XP, Vista oder Windows

Mehr

Kurzanleitung - XVA Provider unter Mac OSX 10

Kurzanleitung - XVA Provider unter Mac OSX 10 Kurzanleitung - XVA Provider unter Mac OSX 10 Installation und Bedienung- Inhalt Allgemeine Hinweise:... 1 Kapitel 1 Installation und Konfiguration... 2 Schritt 1: Java SE Development Kit 6 installieren:...

Mehr

PostgreSQL in großen Installationen

PostgreSQL in großen Installationen PostgreSQL in großen Installationen Cybertec Schönig & Schönig GmbH Hans-Jürgen Schönig Wieso PostgreSQL? - Die fortschrittlichste Open Source Database - Lizenzpolitik: wirkliche Freiheit - Stabilität,

Mehr

Migration des UDK-NI vom PortalU-Server auf den NUMIS-Server

Migration des UDK-NI vom PortalU-Server auf den NUMIS-Server Foswiki > NUMIS Web > TechniSches > InGridInstall > IgeigciPlugInstall (2010-10-19, MartinKlenke) Migration des UDK-NI vom PortalU-Server auf den NUMIS-Server Nutzermigration Datenbank dumpen Installation

Mehr

June 2015. Automic Hadoop Agent. Data Automation - Hadoop Integration

June 2015. Automic Hadoop Agent. Data Automation - Hadoop Integration June 2015 Automic Hadoop Agent Data Automation - Hadoop Integration + Aufbau der Hadoop Anbindung + Was ist eigentlich ist MapReduce? + Welches sind die Stärken von Hadoop + Welches sind die Schwächen

Mehr

docker.io @ CentOS 7 Secure And Portable Containers Made Easy Jürgen Brunk Köln, 04.08.2014

docker.io @ CentOS 7 Secure And Portable Containers Made Easy Jürgen Brunk Köln, 04.08.2014 docker.io @ CentOS 7 Secure And Portable Containers Made Easy Jürgen Brunk Köln, 04.08.2014 Agenda 1. Was ist Docker? 2. Was sind Container? 3. Warum Docker? 4. Architektur 5. Praxis 6. Docker unter CentOS

Mehr

Tipps & Tricks. Neues, Nützliches und Praktisches. Christian Dahmen con terra GmbH

Tipps & Tricks. Neues, Nützliches und Praktisches. Christian Dahmen con terra GmbH Tipps & Tricks Neues, Nützliches und Praktisches Christian Dahmen con terra GmbH 1 Qualitätssicherung von Geodaten Qualitätssicherung von Geodaten Mit FME lassen sich einfache und komplexe Prüfroutinen

Mehr

Analyse und Auswertung großer heterogener Datenmengen

Analyse und Auswertung großer heterogener Datenmengen Analyse und Auswertung großer heterogener Datenmengen Herausforderungen für die IT-Infrastruktur Richard Göbel Inhalt Big Data Was ist das eigentlich? Was nützt mir das? Wie lassen sich solche großen Datenmengen

Mehr

Telemedia Safestore Installationsanleitung

Telemedia Safestore Installationsanleitung Telemedia Safestore Installationsanleitung Christoph Schneeberger 7. März 2009 INHALT INHALT...2 Einleitung...4 Bevor Sie mit der Installation beginnen...4 Wie arbeitet Safestore?...4 Bandbreite für Backups...4

Mehr

Fachbereich Informatik Praktikum 1

Fachbereich Informatik Praktikum 1 Hochschule Darmstadt DATA WAREHOUSE SS2015 Fachbereich Informatik Praktikum 1 Prof. Dr. S. Karczewski Dipl. Inf. Dipl. Math. Y. Orkunoglu Datum: 14.April.2015 1. Kurzbeschreibung In diesem Praktikum geht

Mehr

Eine Übersicht über die angepassten Skripte ist hier (Skripte Referenz) zu finden.

Eine Übersicht über die angepassten Skripte ist hier (Skripte Referenz) zu finden. 1 von 5 18.07.2012 17:24 Hauptseite/FreieTonne unter LINUX Aus FreieTonne-Wiki < Hauptseite FreieTonne unter LINUX Ubuntu Bitte beachte, dass alle Beiträge zu FreieTonne-Wiki von anderen Mitwirkenden bearbeitet,

Mehr

Übung 4: Schreiben eines Shell-Skripts

Übung 4: Schreiben eines Shell-Skripts Aufgabenteil 1 Ziel der Übung Übung 4: Schreiben eines Shell-Skripts Anhand eines einfachen Linux-Skripts sollen die Grundlagen der Shell-Programmierung vermittelt werden. Das für die Bash-Shell zu erstellende

Mehr

MySQL Queries on "Nmap Results"

MySQL Queries on Nmap Results MySQL Queries on "Nmap Results" SQL Abfragen auf Nmap Ergebnisse Ivan Bütler 31. August 2009 Wer den Portscanner "NMAP" häufig benutzt weiss, dass die Auswertung von grossen Scans mit vielen C- oder sogar

Mehr

IBM SPSS Modeler Entity Analytics - Erweiterte Konfiguration

IBM SPSS Modeler Entity Analytics - Erweiterte Konfiguration IBM SPSS Entity Analytics - Erweiterte Konfiguration Einführung Die vorgesehene Zielgruppe für dieses Handbuch sind Systemadministratoren, die IBM SPSS Entity Analytics (EA) für die Ausführung in einer

Mehr

Entwicklungsumgebung für die Laborübung

Entwicklungsumgebung für die Laborübung Entwicklungsumgebung für die Laborübung VU Datenbanksysteme Wolfgang Fischl Arbeitsbereich Datenbanken und Artificial Intelligence Institut für Informationssysteme Technische Universität Wien Wintersemester

Mehr

Anleitung: DV4Mini auf einem Raspberry Pi

Anleitung: DV4Mini auf einem Raspberry Pi Anleitung: DV4Mini auf einem Raspberry Pi Präambel OE7BSH Diese Anleitung wurde am 8. September 2015 nach aktuellen release Status (DV4Mini 1.4) erstellt. Nachdem der DV4Mini quasi work in progress ist,

Mehr

25. Februar 2009, Version 1.0. Installationsanleitung Tivoli Storage Manager für Windows. Verwaltungsdirektion. Informatikdienste

25. Februar 2009, Version 1.0. Installationsanleitung Tivoli Storage Manager für Windows. Verwaltungsdirektion. Informatikdienste 25. Februar 2009, Version 1.0 Installationsanleitung für Windows Verwaltungsdirektion Informatikdienste Installationsanleitung für Windows Inhaltsverzeichnis...1 Installation... 1 Voraussetzungen...1 Ablauf

Mehr

Apache HBase. A BigTable Column Store on top of Hadoop

Apache HBase. A BigTable Column Store on top of Hadoop Apache HBase A BigTable Column Store on top of Hadoop Ich bin... Mitch Köhler Selbstständig seit 2010 Tätig als Softwareentwickler Softwarearchitekt Student an der OVGU seit Oktober 2011 Schwerpunkte Client/Server,

Mehr

1 Installationen. 1.1 Installationen unter Windows

1 Installationen. 1.1 Installationen unter Windows 1 Installationen Dieses Kapitel beschreibt die Installationen, die für die Nutzung von PHP und MySQL unter Windows, unter Ubuntu Linux und auf einem Mac mit OS X notwendig sind. 1.1 Installationen unter

Mehr

Online Help StruxureWare Data Center Expert

Online Help StruxureWare Data Center Expert Online Help StruxureWare Data Center Expert Version 7.2.7 Virtuelle StruxureWare Data Center Expert-Appliance Der StruxureWare Data Center Expert-7.2-Server ist als virtuelle Appliance verfügbar, die auf

Mehr

Dateisysteme mit Plugin-Funktion

Dateisysteme mit Plugin-Funktion Dateisysteme mit Plugin-Funktion Basierend auf Reiser 4 unter Linux http://llugb.amsee.de/logo.gif Ausgearbeitet und vorgetragen von Michael Berger 1/23 Agenda Die Idee Dateisysteme mit Plugin-Funktion

Mehr