Stefan Igel inovex GmbH Hadoop in modern BI-Infrastrukturen
BI-Plattform Access Standard Reporting Information Lifecycle Management Adhoc Queries /MB (SYNAPSE) << /MB (DWH) (Mass) Data Export DWH Oracle 11g EE Database Reporting Layer (Dependent Datamarts) Integration Layer (Core DWH) Acquisition Layer (Staging Area) Value: DWH als Langzeit-Archiv für Informationen Mass Data Aggregation Layer Mass Data Integration Layer Mass Data Acquisition Layer Volume: Hadoop als Kurzzeit-Archiv für Massendaten BI Source Systems Source Data WI Gateway Fileserver Replicated Source Data 51
Speichern: Gerne aber wie lange? Auch 500 TByte sind irgendwann einmal voll! IL separat für jede Verarbeitungsebene Je wertvoller die Daten, desto länger die Lebensdauer Bei >>100.000 Files hohe Anforderung ans Housekeeping in der SYNAPSE (s. u.) System Ebene Begründung Aufbewahrung Fileserver Import Nachladen 5 Tage Export Fachliche Anforderung 40 Tage SYNAPSE Acquisition Algorithmus / Nachberechnen 30 Tage Integration Fachliche Anforderung 15-90 Tage Aggregate Nachladen 5 Tage DWH Acquisition Nachberechnen 30 Tage Integration Fachliche Anforderung 0,5-10 Jahre Reporting Fachliche Anforderung 0,5-10 Jahre 52
Mehrparteien- Betrieb Wer darf wann? Hadoop Job Scheduler Gleichmäßige Lastverteilung über die Zeit nach Prioritäten Verschiedene Anwendungen können konkurrierend betrieben werden Ermöglicht Adhoc-Queries mit definierten Ressourcen Mechanismus Default Capacity Fair Vergeben von Prioritäten pro Job Job-Queues mit festgelegten Prioritäten Funktionsfähig Ja Ja Ja Clusterauslastung Ja Nein Ja Gefahr von Starvation Ja Nein Nein Job-Queues und Pools mit Gewichten 53
Mehrparteien- Betrieb Wer darf überhaupt? Hadoop hat ein Zugriffsberechtigungskonzept angelehnt an POSIX (ohne sticky, setuid or setgid bits) für Files und Directories Hadoop hat keine eigene Benutzer-Authentifizierung Hadoop übernimmt user name (whoami) und group name (bash -c groups) vom aufrufenden Client-Prozess Authorisierung ist damit (nur) auf File- und Verzeichnisebene möglich Das schützt im Mehrparteienbetrieb vor versehentlichem Löschen oder Überschreiben fremder Dateien. Authorisierung muss auf Betriebssystem-Ebene konsequent umgesetzt sein Geeignetes Konzept für Tool -User oder Application Manager / Data Scientists This user identity mechanism combined with the permissions model allows a cooperative community to share file system resources in an organized fashion. http://hadoop.apache.org/common/docs/r0.20.2/hdfs_permissions_guide.html 54
Best Practice Identifiziere dein BIG DATA Problem Etwas mehr schadet nicht: Alle Systeme müssen skalieren und benötigen Reserven, Namenode HA! Keep Your Ecosystem Simple, weniger kann mehr sein! Die Algorithmen bestimmen die Effizienz! Sorge für geordnete Verhältnisse im Cluster! 55
Agenda BI meets BIG DATA Jede Menge Blech: Die Hardware Was darf es denn sein: Das Hadoop Ecosystem Speichern, Mappen, Reduzieren Spielregeln im Cluster Der fleißige Handwerker Essenz 56
BI-Plattform Prozess-Steuerung Access Standard Reporting Adhoc Queries (Mass) Data Export DWH Oracle 11g EE Database Reporting Layer (Dependent Datamarts) Integration Layer (Core DWH) Acquisition Layer (Staging Area) ETL im DWH Mass Data Aggregation Layer Mass Data Integration Layer Mass Data Acquisition Layer Integration MR-Jobs in Hadoop BI Source Systems Source Data WI Gateway Fileserver Replicated Source Data 57
Prozess-Steuerung Anforderungen Steuerung von ETL-Prozessen im Batch-Mode Steuerung Datei-basierter Datenflüsse Verteilung der ETL-Algorithmen auf dem Cluster Integration in übergreifende Prozessketten Unterstützung des Information Lifecycle Managements (Housekeeping) Nachvollziehbarkeit von Ladeprozessen Fehler-Toleranz durch Wiederaufsetzbarkeit Technisches und fachliches Monitoring 58
Steuerung Azkaban (LinkedIn) PRO CONTRA Workflows können graphisch dargestellt und gedrilled werden Einfache Handhabung (Komplexes wird in Scripts ausgelagert) Startet Hadoop-Jobs und Anderes einfach als Unix-Prozesse Minimaler Funktionsumfang Keine Rechte und Zugriffs-Verwaltung Jobausführung nur Zeit-basiert Keine Redundanz (Azkaban-Server wird zum SPOF) Ressoucen (.jar files, pig scripts) werden durch Azkaban verwaltet und deployed 59
Steuerung Oozie (Yahoo!) PRO CONTRA Enge Integration mit Hadoop und M/R Kann mit unterschiedlichen Job-Typen umgehen: Java MR, PIG, Java, etc. Webservice- und Java-API Zeit- und Ereignis-basierte Job- Ausführung WEB-Konsole ist Read-Only, keine graphische Aufbereitung von Abhängigkeiten Ressoucen (.jar files, pig scripts) müssen manuell vor der Jobausführung auf dem HDFS deployed werden Müsste um File-Registierung erweitert werden 60
BI-Plattform Steuerung Steuerung der Verarbeitung und damit der Datenströme muss über den gesamten BI-Stack sichergestellt sein! Das richtige Werkzeug für die jeweilige Aufgabe: GEPPI = 1&1 EAI-Lösung (Workflow-Steuerung) FUNDI = Eigenentwicklung verlängerter Arm für Hadoop-Anbindung 61
Das richtige Werkzeug für die jeweilige Aufgabe PDI (http://kettle.pentaho.com/) ETL-Jobs im DWH HDFS-Zugriff delegiert an Pentaho Kettle delegiert an FUNDI GEPPI = Workflow-Engine Übergreifende-Steuerung Functional Dependency Integrator Hadoop Job-Ausführung Data-Repository 62
FUNDI Swahili für... Der fleißige Handwerker FUNDI File-Registration Register File & Metadata File Registration Functional Dependency Integrator Search for matching files Data Files 63
FUNDI Swahili für... Der fleißige Handwerker FUNDI Job-Run get Jar/PIG Metadata Input-Filenames Register Output-Files & Metadata Inp. Data Files Run Job(name) Functional Dependency Integrator Start MR Job Outp Data Files 64
FUNDI Swahili für... Der fleißige Handwerker FUNDI Housekeeping Check Config & Metadata Housekeeping Functional Dependency Integrator Remove matching files Data Files 65
FUNDI Swahili für... Der fleißige Handwerker Fundi Job-Ketten (Das EVA-Prinzip) Metadata for Job-Run, Inp.-Files, Outp.-Files E V A Named-Input Named-Output Configuration e.g. Path, Filenames, Jar/PIG-Script, Settings 66
Monitoring mit Ganglia 01.07.2012 02:00 Uhr 67
Best Practice Identifiziere dein BIG DATA Problem Etwas mehr schadet nicht: Alle Systeme müssen skalieren und benötigen Reserven, Namenode HA! Keep Your Ecosystem Simple, weniger kann mehr sein! Die Algorithmen bestimmen die Effizienz! Sorge für geordnete Verhältnisse im Cluster! Es geht auch ohne Skript-Wüste und cron-jobs! 68
Agenda BI meets BIG DATA Jede Menge Blech: Die Hardware Was darf es denn sein: Das Hadoop Ecosystem Speichern, Mappen, Reduzieren Spielregeln im Cluster Der fleißige Handwerker Essenz 69
Lange Rede kurzer Sinn: Die Aufgabe ist BIG! Hadoop verlangt ein neues Denken in allen IT-Bereichen: Operations, Entwicklung, QS, Binde alle Stakeholder möglichst früh in deine Planung ein! Know-how zum Entwickeln, Testen und Betreiben einer verteilten Umgebung muss erarbeitet werden! Reduziere Komplexität, wo möglich, es bleibt herausfordernd genug! Identifiziere dein Pilotprojekt! Bleibe nicht zu lange im Spielbetrieb, evaluiere gegen echte Anforderungen! 70
Die Belohnung: Hadoop beeindruckt! Hadoop und sein Ecosystem bieten hervorragende Lösungen für viele BIG DATA Probleme! http://www.flickr.com/photos/xrm0/184379507/ 71
Der Nutzen Hadoop beeindruckt Massendatenverarbeitung bei 1&1 ist für Web- und Media-Analytics, Logfile-Verarbeitung und Datawarehousing mit Hadoop messbar performanter, kostengünstiger, skalierbarer, flexibler, und zukunftsfähiger. Vielen Dank! 72
Vielen Dank für eure Aufmerksamkeit 73
Aufgabenverteilung Aggregationen alle 6 Stunden >15000 Files/Tag ~ 3TB 74