SlideShare a Scribd company logo
1 of 23
Download to read offline
Amazon EMR
Grundlagen
Waldemar Reger
Köln, 18.07.2014
2
●
Was ist Amazon EMR?
●
Cluster Aufbau
●
EMR MapReduce-Job
●
Workflow
●
Cluster Management
●
EMR-CLI
●
Cluster erstellen
●
MapReduce-Jobs per EMR-CLI ausführen
●
EMR Monitoring
●
DEMO
Agenda
3
●
Amazon Elastic MapReduce
●
Web-Dienst von Amazon für das Erstellen von skalierbaren Clustern
●
Cluster Nodes sind Amazon EC2-Instanzen [1]
●
Verwendung des Hadoop Frameworks (HDFS + MapReduce)
●
Vergleichbarer Funktionsumfang wie bei einem realen Hadoop-
Cluster (weitere Hadoop Komponenten)
●
Abrechnung nach Nutzungsdauer
●
Cluster ist um weitere Nodes erweiterbar
Was ist Amazon EMR?
4
●
HDFS (Daten verfallen, sobald der Cluster terminiert wird)
●
Amazon S3 (Amazon Cloud Storage)
●
Amazon DynamoDB (NoSQL Datenbankservice)
●
Amazon Redshift (Data Warehouse Service)
●
Amazon Relational Database Service (RDBMS)
Was ist Amazon EMR?
●
Speicherung der Daten
5
●
Hive (Data-Warehouse)
●
Pig (Scripting Platform)
●
HBase (NoSQL Datenbank)
●
Impala (Echtzeit Abfrage Engine)
●
Ganglia (Cluster Monitoring)
●
HCatalog (Tabellen- und Speicherverwaltung)
●
Mahout (maschinelles Lernen)
●
...
Was ist Amazon EMR?
●
Unterstützte Hadoop Komponenten
6
●
Besteht aus mehreren EC2 Instanzen, die auf die jeweiligen
Bedürfnisse optimiert sind (Standard, CPU, RAM, ... [1])
●
EC2-Instanzen bilden die einzelnen Nodes (Name- und Data-
Nodes sowie Job- und Task-Tracker)
●
Hadoop Framework ist in verschiedenen Versionen verfügbar [3]
●
MapReduce Version 1 und 2
●
Kombinierbar mit weiteren Amazon AWS Diensten
●
MapR Distribution verfügbar
Cluster Aufbau
7
Cluster Aufbau
8
●
1 Job = 1 Step
●
Steps werden nacheinander abgearbeitet
●
Cluster kann max. 256 Steps zugewiesen bekommen
●
Zustand der Steps kann Pending, Running, Cancelled, Terminated,
Failed oder Completed einnehmen
●
Steps per Management Console an Cluster übertragen oder per
EMR-CLI
●
Letzter Step terminiert Cluster oder wartet auf weitere Steps (je nach
Konfiguration des Clusters)
EMR MapReduce-Job
9
1. MapReduce-Job erstellen
2. Daten für die Bearbeitung zur Verfügung stellen (lokal oder mit
Hilfe von einer der unterstützten Speichermöglichkeiten)
3. EMR-Cluster erstellen (Management Console oder EMR-CLI)
4. Amazon erstellt eine eindeutige JobFlow-ID für den Cluster
5. MapReduce-Job zum Ausführen an Cluster senden
6. Warten bis MapReduce-Job abgeschlossen wurde und das
Ergebnis evtl. weiter verarbeiten
Workflow
●
Vom Erstellen eines Cluster bis zum zum Ausführen eines Jobs
●
Verwaltung mit Hilfe der Amazon AWS Management Console
●
Verwaltung mit dem Amazon EMR CLI
10
Cluster Management
●
EMR Cluster Verwalten
11
●
Hadoop Cluster erstellen
●
Bootstrap Aktionen definieren
●
Größe eines laufenden Clusters verändern
●
Cluster Konfiguration
●
MapReduce-Jobs auf dem Cluster starten
●
Konfigurationen im JSON-Format an Cluster übergeben
●
...
EMR-CLI
●
Was kann EMR-CLI?
●
Voraussetzung ist Ruby ab Version 1.8.7
●
EMR-CLI auf der Amazon-Webseite downloaden und in einem
Verzeichnis entpacken
●
Im Verzeichnis eine credentials.json Datei erstellen → Zugriff auf
AWS-Dienste
●
Mit dem Kommando „elastic-mapreduce“ wird EMR über das CLI
bedient
12
EMR-CLI Installation und Konfiguration
13
●
elastic-mapreduce --create --alive --set-termination-protection --name „Clustername“
--num-instances 7 --instance-type m1.small --master-instance-type m1.small
--log-uri s3n://inovex-storage/logs/ --ami-version 2.1.4
--bootstrap-action s3://elasticmapreduce/bootstrap-actions/configure-hadoop
--args „-h,dfs.replication=3,-h,dfs.block.size=67108864,-
m,mapred.jobtracker.taskScheduler=org.apache.hadoop.mapred.FairScheduler“
--bootstrap-action s3://elasticmapreduce/bootstrap-actions/install-ganglia
Cluster erstellen
●
Beispiel
14
●
elastic-mapreduce --create Einleitung einer Cluster Generierung
--alive Cluster soll selbst nach abgeschlossenen Jobs nicht
terminiert werden
--set-termination-protection true Setzt den Termination-Protection Status (True|False)
--name „Clustername“ Clusternamen (muss nicht eindeutig sein)
--num-instances 7 Anzahl Instanzen des Clusters(NameNode + DataNodes)
--instance-type m1.small EC2 Instanztyp der DataNodes
--master-instance-type m1.small EC2 Instanztyp der NameNode
--log-uri s3n://inovex-storage/logs/ Pfad für die Speicherung der Log-Dateien
--ami-version 2.1.4 AMI Version = Unterstützung unterschiedlicher Hadoop
Komponenten und Versionen (Bsp.: 2.1.4 = Hive 0.7.1)
--bootstrap-action s3://elasticmapreduce/bootstrap-actions/configure-hadoop –args
„-h,dfs.replication=3,-h,dfs.block.size=67108864,-
m,mapred.jobtracker.taskScheduler=org.apache.hadoop.mapred.FairScheduler“
Bootstrap Aktion zur Konfiguration von Hadoop
--bootstrap-action s3://elasticmapreduce/bootstrap-actions/install-ganglia
Bootstrap Aktion zur Installation zusätzlicher Komponenten
[2]
Cluster erstellen
●
Beschreibung des Befehls
15
●
Amazon EMR Skripte, die auf dem Cluster ausgeführt werden,
wenn der Cluster erstellt wird
●
Ausführung eigener Skripte
– --bootstrap-action „s3://<Pfad>/Dateiname“ --args
„arg1,arg2,...“
●
Aktionen:
– Installation von Komponenten (Ganglia, Hue, HBase, ..)
– Konfiguration diverser Komponenten (Hadoop, Hive, Hbase,
…)
Cluster erstellen
●
Bootstrap Aktion
16
●
--bootstrap-action s3://elasticmapreduce/bootstrap-
actions/configure-hadoop –args „<arg1>,<arg2>,...“
●
Argumente:
– Übergabe von Konfigurationsdateien (z.B. config.xml)
– Übergabe von Key-Value Paaren (z.B. mapred.map.tasks=4)
●
Bsp.: --args „M,s3://<bucketname>/config.xml,-
h,dfs.block.size=67108864“
Cluster erstellen
●
Bootstrap Aktion: Hadoop Konfiguration
17
●
Job-Informationen können einzeln an Amazon EMR übergeben
werden (wird nicht weiter betrachtet!)
●
Jobs können mit Hilfe von JSON-Files zusammengefasst und den
Cluster übermittelt werden
●
JSON Verwendung bei EMR:
– Auswahl der Cluster Nodes (Amazon EC2-Instanzen)
– Clusterkonfiguration
– MapReduce-Job Konfiguration
●
Vorteile:
– Vereinfachte Möglichkeit mehrere Jobs gleichzeitig an Cluster
zu übermitteln
– Wiederverwendbarkeit
MapReduce-Jobs per EMR-CLI ausführen
●
JSON-Files
18
●
Steps:
– Konfiguration der MapReduce-Jobs
●
Voraussetzung: Jobflow-ID
– Cluster muss verfügbar sein
– Befehl:
elastic-mapreduce
--json <JSON-Dateiname>
--jobflow <Jobflow-ID>
●
Beispiel:
– Step 1: TeraGen → Daten erzeugen
– Step 2: TeraSort → Erzeugte Daten sortieren
MapReduce-Jobs per EMR-CLI ausführen
●
JSON-Files Aufbau
19
●
Hadoop Monitoring mit Ganglia
●
Ganglia Installation:
– --bootstrap-action s3://elasticmapreduce/bootstrap-
actions/install-ganglia
●
Webfrontend läuft auf dem Master Node
●
Zugriff durch Portforwarding (SSH-Tunnel) [4]
EMR Monitoring
20
DEMO
DEMO
21
Danke
22
Vielen Dank für Ihre Aufmerksamkeit
Kontakt
Waldemar Reger
inovex GmbH
Office Köln
Kupferhütte 4.1
Schanzenstraße 6 - 20
51063 Köln
Mail:
waldemar.reger@inovex.de
23
[1] http://aws.amazon.com/de/ec2/instance-types/
[2] http://docs.aws.amazon.com/ElasticMapReduce/latest/DeveloperGuide/emr-plan-bootstrap.html
[3] http://docs.aws.amazon.com/ElasticMapReduce/latest/DeveloperGuide/ami-versions-supported.html
[4] http://docs.aws.amazon.com/ElasticMapReduce/latest/DeveloperGuide/UsingEMR_Ganglia.html
Quellen

More Related Content

Viewers also liked

Driving Value Through Video - Michael Weissman – General Manager, Creator Pla...
Driving Value Through Video - Michael Weissman – General Manager, Creator Pla...Driving Value Through Video - Michael Weissman – General Manager, Creator Pla...
Driving Value Through Video - Michael Weissman – General Manager, Creator Pla...Conductor
 
IT Security Forum London ballintrae 240913 final
IT Security Forum London ballintrae 240913 finalIT Security Forum London ballintrae 240913 final
IT Security Forum London ballintrae 240913 finalJason Boud
 
Adiccion a los videojuegos
Adiccion a los videojuegosAdiccion a los videojuegos
Adiccion a los videojuegosLezzliie EsCck
 
Memoria Red Salud 2012
Memoria Red Salud 2012Memoria Red Salud 2012
Memoria Red Salud 2012el_m
 
Curso superior de gestión de contact center en barcelona
Curso superior de gestión de contact center en barcelonaCurso superior de gestión de contact center en barcelona
Curso superior de gestión de contact center en barcelonaRafael Martinez
 
Dr. Jusuf Kardavi - Obligimet e të rinjëve të sotshëm muslimanë
Dr. Jusuf Kardavi - Obligimet e të rinjëve të sotshëm muslimanëDr. Jusuf Kardavi - Obligimet e të rinjëve të sotshëm muslimanë
Dr. Jusuf Kardavi - Obligimet e të rinjëve të sotshëm muslimanëShkumbim Jakupi
 
Pay stream and basware einvoicing trends and truths 12.11.14 final
Pay stream and basware einvoicing trends and truths 12.11.14 finalPay stream and basware einvoicing trends and truths 12.11.14 final
Pay stream and basware einvoicing trends and truths 12.11.14 finalJustin Combs
 
Huella Líquida, el Liderazgo Inspirador en el Ecosistema Interno
Huella Líquida, el Liderazgo Inspirador en el Ecosistema InternoHuella Líquida, el Liderazgo Inspirador en el Ecosistema Interno
Huella Líquida, el Liderazgo Inspirador en el Ecosistema InternoEdita Olaizola (+1.800)
 
TIM SA - podsumowanie I kwartału 2016 r.
TIM SA - podsumowanie I kwartału 2016 r.TIM SA - podsumowanie I kwartału 2016 r.
TIM SA - podsumowanie I kwartału 2016 r.TIM SA
 
Felicidad y desarrollo de la cultura organizacional
Felicidad y desarrollo de la cultura organizacionalFelicidad y desarrollo de la cultura organizacional
Felicidad y desarrollo de la cultura organizacionalVicente Ibarra
 
Searle Vitamin Water (Realization of New Category)
Searle Vitamin Water (Realization of New Category)Searle Vitamin Water (Realization of New Category)
Searle Vitamin Water (Realization of New Category)Khurram Shakeel
 
Kevin Hillstrom - How The Future of Retail is Like Professional Sports
Kevin Hillstrom - How The Future of Retail is Like Professional SportsKevin Hillstrom - How The Future of Retail is Like Professional Sports
Kevin Hillstrom - How The Future of Retail is Like Professional SportsMarketing Festival
 
Conociendo el interior de filtros para aceite
Conociendo el interior de filtros para aceiteConociendo el interior de filtros para aceite
Conociendo el interior de filtros para aceiteGONHER Autopartes
 
Catalogue francais 2014
Catalogue francais 2014Catalogue francais 2014
Catalogue francais 2014EUROPAGES
 
Desarrollo territorial
Desarrollo territorialDesarrollo territorial
Desarrollo territorialGustavo Sosa
 

Viewers also liked (20)

Charla Tryve en Expobike 2015
Charla Tryve en Expobike 2015Charla Tryve en Expobike 2015
Charla Tryve en Expobike 2015
 
Presentación 1
Presentación 1Presentación 1
Presentación 1
 
Driving Value Through Video - Michael Weissman – General Manager, Creator Pla...
Driving Value Through Video - Michael Weissman – General Manager, Creator Pla...Driving Value Through Video - Michael Weissman – General Manager, Creator Pla...
Driving Value Through Video - Michael Weissman – General Manager, Creator Pla...
 
IT Security Forum London ballintrae 240913 final
IT Security Forum London ballintrae 240913 finalIT Security Forum London ballintrae 240913 final
IT Security Forum London ballintrae 240913 final
 
Adiccion a los videojuegos
Adiccion a los videojuegosAdiccion a los videojuegos
Adiccion a los videojuegos
 
Memoria Red Salud 2012
Memoria Red Salud 2012Memoria Red Salud 2012
Memoria Red Salud 2012
 
Curso superior de gestión de contact center en barcelona
Curso superior de gestión de contact center en barcelonaCurso superior de gestión de contact center en barcelona
Curso superior de gestión de contact center en barcelona
 
Wikivial 2011
Wikivial 2011Wikivial 2011
Wikivial 2011
 
Dr. Jusuf Kardavi - Obligimet e të rinjëve të sotshëm muslimanë
Dr. Jusuf Kardavi - Obligimet e të rinjëve të sotshëm muslimanëDr. Jusuf Kardavi - Obligimet e të rinjëve të sotshëm muslimanë
Dr. Jusuf Kardavi - Obligimet e të rinjëve të sotshëm muslimanë
 
Pay stream and basware einvoicing trends and truths 12.11.14 final
Pay stream and basware einvoicing trends and truths 12.11.14 finalPay stream and basware einvoicing trends and truths 12.11.14 final
Pay stream and basware einvoicing trends and truths 12.11.14 final
 
Huella Líquida, el Liderazgo Inspirador en el Ecosistema Interno
Huella Líquida, el Liderazgo Inspirador en el Ecosistema InternoHuella Líquida, el Liderazgo Inspirador en el Ecosistema Interno
Huella Líquida, el Liderazgo Inspirador en el Ecosistema Interno
 
TIM SA - podsumowanie I kwartału 2016 r.
TIM SA - podsumowanie I kwartału 2016 r.TIM SA - podsumowanie I kwartału 2016 r.
TIM SA - podsumowanie I kwartału 2016 r.
 
Csr
CsrCsr
Csr
 
Felicidad y desarrollo de la cultura organizacional
Felicidad y desarrollo de la cultura organizacionalFelicidad y desarrollo de la cultura organizacional
Felicidad y desarrollo de la cultura organizacional
 
Searle Vitamin Water (Realization of New Category)
Searle Vitamin Water (Realization of New Category)Searle Vitamin Water (Realization of New Category)
Searle Vitamin Water (Realization of New Category)
 
Tratamiento de aguas residuales
Tratamiento de aguas residualesTratamiento de aguas residuales
Tratamiento de aguas residuales
 
Kevin Hillstrom - How The Future of Retail is Like Professional Sports
Kevin Hillstrom - How The Future of Retail is Like Professional SportsKevin Hillstrom - How The Future of Retail is Like Professional Sports
Kevin Hillstrom - How The Future of Retail is Like Professional Sports
 
Conociendo el interior de filtros para aceite
Conociendo el interior de filtros para aceiteConociendo el interior de filtros para aceite
Conociendo el interior de filtros para aceite
 
Catalogue francais 2014
Catalogue francais 2014Catalogue francais 2014
Catalogue francais 2014
 
Desarrollo territorial
Desarrollo territorialDesarrollo territorial
Desarrollo territorial
 

Similar to Amazon EMR Grundlagen

DevDay 2016: Sascha Askani - Cloud-Umgebungen mit Terraform verwalten
DevDay 2016: Sascha Askani - Cloud-Umgebungen mit Terraform verwaltenDevDay 2016: Sascha Askani - Cloud-Umgebungen mit Terraform verwalten
DevDay 2016: Sascha Askani - Cloud-Umgebungen mit Terraform verwaltenDevDay Dresden
 
Blueprints bei E-Commerce Workloads mit AWS
Blueprints bei E-Commerce Workloads mit AWSBlueprints bei E-Commerce Workloads mit AWS
Blueprints bei E-Commerce Workloads mit AWSroot360 GmbH
 
Webinar Neues von der re:invent 2013 Teil 1: PostgreSQL RDS, CloudTrail, neue...
Webinar Neues von der re:invent 2013 Teil 1: PostgreSQL RDS, CloudTrail, neue...Webinar Neues von der re:invent 2013 Teil 1: PostgreSQL RDS, CloudTrail, neue...
Webinar Neues von der re:invent 2013 Teil 1: PostgreSQL RDS, CloudTrail, neue...AWS Germany
 
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)
Hadoop aus IT-Operations-Sicht - Teil 1 (Hadoop-Grundlagen)inovex GmbH
 
Infrastructure as code: Cloud-Umgebungen mit Terraform verwalten
Infrastructure as code: Cloud-Umgebungen mit Terraform verwaltenInfrastructure as code: Cloud-Umgebungen mit Terraform verwalten
Infrastructure as code: Cloud-Umgebungen mit Terraform verwalteninovex GmbH
 
Infrastructure as Code - BaselOne 17
Infrastructure as Code - BaselOne 17Infrastructure as Code - BaselOne 17
Infrastructure as Code - BaselOne 17remigius-stalder
 
Blueprints bei E-Commerce Workloads mit AWS
Blueprints bei E-Commerce Workloads mit AWS Blueprints bei E-Commerce Workloads mit AWS
Blueprints bei E-Commerce Workloads mit AWS AWS Germany
 
Infrastructure as Code mit Terraform
Infrastructure as Code mit TerraformInfrastructure as Code mit Terraform
Infrastructure as Code mit TerraformHarald Schmaldienst
 
Geoinformatik-Kolloquium Juni 2012: High Performance Computing Cluster GIS
Geoinformatik-Kolloquium Juni 2012: High Performance Computing Cluster GISGeoinformatik-Kolloquium Juni 2012: High Performance Computing Cluster GIS
Geoinformatik-Kolloquium Juni 2012: High Performance Computing Cluster GISPeter Löwe
 
Cloud Deployment und (Auto)Scaling am Beispiel von Angrybird
Cloud Deployment und (Auto)Scaling am Beispiel von AngrybirdCloud Deployment und (Auto)Scaling am Beispiel von Angrybird
Cloud Deployment und (Auto)Scaling am Beispiel von AngrybirdAOE
 
OOP 2014 SQL oder NoSQL - die Auswahl der richtigen Datenbankplattform für di...
OOP 2014 SQL oder NoSQL - die Auswahl der richtigen Datenbankplattform für di...OOP 2014 SQL oder NoSQL - die Auswahl der richtigen Datenbankplattform für di...
OOP 2014 SQL oder NoSQL - die Auswahl der richtigen Datenbankplattform für di...AWS Germany
 
High Performance Multi-Server Magento in der Cloud
High Performance Multi-Server Magento in der CloudHigh Performance Multi-Server Magento in der Cloud
High Performance Multi-Server Magento in der CloudAOE
 
Domino 9 - jetzt mit integrierten Features, die das Admin-Leben leichter machen
Domino 9 - jetzt mit integrierten Features, die das Admin-Leben leichter machenDomino 9 - jetzt mit integrierten Features, die das Admin-Leben leichter machen
Domino 9 - jetzt mit integrierten Features, die das Admin-Leben leichter machenAndreas Ponte
 
5 Tweaks für 500 % bessere Performance
5 Tweaks für 500 % bessere Performance5 Tweaks für 500 % bessere Performance
5 Tweaks für 500 % bessere PerformanceJonas Hünig
 
Dokumentenorientiere Datenbanken am Beispiel CouchDB
Dokumentenorientiere Datenbanken am Beispiel CouchDBDokumentenorientiere Datenbanken am Beispiel CouchDB
Dokumentenorientiere Datenbanken am Beispiel CouchDBMario Müller
 
Schweine latein-vortrag
Schweine latein-vortragSchweine latein-vortrag
Schweine latein-vortragRamon Wartala
 
Do´s and Dont´s mit Oracle RDS
Do´s and Dont´s mit Oracle RDS Do´s and Dont´s mit Oracle RDS
Do´s and Dont´s mit Oracle RDS esentri AG
 
Analyse und Evaluierung von Parameterabhängigkeiten anhand der Laufzeit von M...
Analyse und Evaluierung von Parameterabhängigkeiten anhand der Laufzeit von M...Analyse und Evaluierung von Parameterabhängigkeiten anhand der Laufzeit von M...
Analyse und Evaluierung von Parameterabhängigkeiten anhand der Laufzeit von M...inovex GmbH
 

Similar to Amazon EMR Grundlagen (20)

DevDay 2016: Sascha Askani - Cloud-Umgebungen mit Terraform verwalten
DevDay 2016: Sascha Askani - Cloud-Umgebungen mit Terraform verwaltenDevDay 2016: Sascha Askani - Cloud-Umgebungen mit Terraform verwalten
DevDay 2016: Sascha Askani - Cloud-Umgebungen mit Terraform verwalten
 
Blueprints bei E-Commerce Workloads mit AWS
Blueprints bei E-Commerce Workloads mit AWSBlueprints bei E-Commerce Workloads mit AWS
Blueprints bei E-Commerce Workloads mit AWS
 
Webinar Neues von der re:invent 2013 Teil 1: PostgreSQL RDS, CloudTrail, neue...
Webinar Neues von der re:invent 2013 Teil 1: PostgreSQL RDS, CloudTrail, neue...Webinar Neues von der re:invent 2013 Teil 1: PostgreSQL RDS, CloudTrail, neue...
Webinar Neues von der re:invent 2013 Teil 1: PostgreSQL RDS, CloudTrail, neue...
 
Node.js
Node.jsNode.js
Node.js
 
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)
Hadoop aus IT-Operations-Sicht - Teil 1 (Hadoop-Grundlagen)
 
Infrastructure as code: Cloud-Umgebungen mit Terraform verwalten
Infrastructure as code: Cloud-Umgebungen mit Terraform verwaltenInfrastructure as code: Cloud-Umgebungen mit Terraform verwalten
Infrastructure as code: Cloud-Umgebungen mit Terraform verwalten
 
Infrastructure as Code - BaselOne 17
Infrastructure as Code - BaselOne 17Infrastructure as Code - BaselOne 17
Infrastructure as Code - BaselOne 17
 
Blueprints bei E-Commerce Workloads mit AWS
Blueprints bei E-Commerce Workloads mit AWS Blueprints bei E-Commerce Workloads mit AWS
Blueprints bei E-Commerce Workloads mit AWS
 
Amazon Redshift
Amazon RedshiftAmazon Redshift
Amazon Redshift
 
Infrastructure as Code mit Terraform
Infrastructure as Code mit TerraformInfrastructure as Code mit Terraform
Infrastructure as Code mit Terraform
 
Geoinformatik-Kolloquium Juni 2012: High Performance Computing Cluster GIS
Geoinformatik-Kolloquium Juni 2012: High Performance Computing Cluster GISGeoinformatik-Kolloquium Juni 2012: High Performance Computing Cluster GIS
Geoinformatik-Kolloquium Juni 2012: High Performance Computing Cluster GIS
 
Cloud Deployment und (Auto)Scaling am Beispiel von Angrybird
Cloud Deployment und (Auto)Scaling am Beispiel von AngrybirdCloud Deployment und (Auto)Scaling am Beispiel von Angrybird
Cloud Deployment und (Auto)Scaling am Beispiel von Angrybird
 
OOP 2014 SQL oder NoSQL - die Auswahl der richtigen Datenbankplattform für di...
OOP 2014 SQL oder NoSQL - die Auswahl der richtigen Datenbankplattform für di...OOP 2014 SQL oder NoSQL - die Auswahl der richtigen Datenbankplattform für di...
OOP 2014 SQL oder NoSQL - die Auswahl der richtigen Datenbankplattform für di...
 
High Performance Multi-Server Magento in der Cloud
High Performance Multi-Server Magento in der CloudHigh Performance Multi-Server Magento in der Cloud
High Performance Multi-Server Magento in der Cloud
 
Domino 9 - jetzt mit integrierten Features, die das Admin-Leben leichter machen
Domino 9 - jetzt mit integrierten Features, die das Admin-Leben leichter machenDomino 9 - jetzt mit integrierten Features, die das Admin-Leben leichter machen
Domino 9 - jetzt mit integrierten Features, die das Admin-Leben leichter machen
 
5 Tweaks für 500 % bessere Performance
5 Tweaks für 500 % bessere Performance5 Tweaks für 500 % bessere Performance
5 Tweaks für 500 % bessere Performance
 
Dokumentenorientiere Datenbanken am Beispiel CouchDB
Dokumentenorientiere Datenbanken am Beispiel CouchDBDokumentenorientiere Datenbanken am Beispiel CouchDB
Dokumentenorientiere Datenbanken am Beispiel CouchDB
 
Schweine latein-vortrag
Schweine latein-vortragSchweine latein-vortrag
Schweine latein-vortrag
 
Do´s and Dont´s mit Oracle RDS
Do´s and Dont´s mit Oracle RDS Do´s and Dont´s mit Oracle RDS
Do´s and Dont´s mit Oracle RDS
 
Analyse und Evaluierung von Parameterabhängigkeiten anhand der Laufzeit von M...
Analyse und Evaluierung von Parameterabhängigkeiten anhand der Laufzeit von M...Analyse und Evaluierung von Parameterabhängigkeiten anhand der Laufzeit von M...
Analyse und Evaluierung von Parameterabhängigkeiten anhand der Laufzeit von M...
 

More from inovex GmbH

lldb – Debugger auf Abwegen
lldb – Debugger auf Abwegenlldb – Debugger auf Abwegen
lldb – Debugger auf Abwegeninovex GmbH
 
Are you sure about that?! Uncertainty Quantification in AI
Are you sure about that?! Uncertainty Quantification in AIAre you sure about that?! Uncertainty Quantification in AI
Are you sure about that?! Uncertainty Quantification in AIinovex GmbH
 
Why natural language is next step in the AI evolution
Why natural language is next step in the AI evolutionWhy natural language is next step in the AI evolution
Why natural language is next step in the AI evolutioninovex GmbH
 
Network Policies
Network PoliciesNetwork Policies
Network Policiesinovex GmbH
 
Interpretable Machine Learning
Interpretable Machine LearningInterpretable Machine Learning
Interpretable Machine Learninginovex GmbH
 
Jenkins X – CI/CD in wolkigen Umgebungen
Jenkins X – CI/CD in wolkigen UmgebungenJenkins X – CI/CD in wolkigen Umgebungen
Jenkins X – CI/CD in wolkigen Umgebungeninovex GmbH
 
AI auf Edge-Geraeten
AI auf Edge-GeraetenAI auf Edge-Geraeten
AI auf Edge-Geraeteninovex GmbH
 
Prometheus on Kubernetes
Prometheus on KubernetesPrometheus on Kubernetes
Prometheus on Kubernetesinovex GmbH
 
Deep Learning for Recommender Systems
Deep Learning for Recommender SystemsDeep Learning for Recommender Systems
Deep Learning for Recommender Systemsinovex GmbH
 
Representation Learning von Zeitreihen
Representation Learning von ZeitreihenRepresentation Learning von Zeitreihen
Representation Learning von Zeitreiheninovex GmbH
 
Talk to me – Chatbots und digitale Assistenten
Talk to me – Chatbots und digitale AssistentenTalk to me – Chatbots und digitale Assistenten
Talk to me – Chatbots und digitale Assistenteninovex GmbH
 
Künstlich intelligent?
Künstlich intelligent?Künstlich intelligent?
Künstlich intelligent?inovex GmbH
 
Das Android Open Source Project
Das Android Open Source ProjectDas Android Open Source Project
Das Android Open Source Projectinovex GmbH
 
Machine Learning Interpretability
Machine Learning InterpretabilityMachine Learning Interpretability
Machine Learning Interpretabilityinovex GmbH
 
Performance evaluation of GANs in a semisupervised OCR use case
Performance evaluation of GANs in a semisupervised OCR use casePerformance evaluation of GANs in a semisupervised OCR use case
Performance evaluation of GANs in a semisupervised OCR use caseinovex GmbH
 
People & Products – Lessons learned from the daily IT madness
People & Products – Lessons learned from the daily IT madnessPeople & Products – Lessons learned from the daily IT madness
People & Products – Lessons learned from the daily IT madnessinovex GmbH
 
Infrastructure as (real) Code – Manage your K8s resources with Pulumi
Infrastructure as (real) Code – Manage your K8s resources with PulumiInfrastructure as (real) Code – Manage your K8s resources with Pulumi
Infrastructure as (real) Code – Manage your K8s resources with Pulumiinovex GmbH
 

More from inovex GmbH (20)

lldb – Debugger auf Abwegen
lldb – Debugger auf Abwegenlldb – Debugger auf Abwegen
lldb – Debugger auf Abwegen
 
Are you sure about that?! Uncertainty Quantification in AI
Are you sure about that?! Uncertainty Quantification in AIAre you sure about that?! Uncertainty Quantification in AI
Are you sure about that?! Uncertainty Quantification in AI
 
Why natural language is next step in the AI evolution
Why natural language is next step in the AI evolutionWhy natural language is next step in the AI evolution
Why natural language is next step in the AI evolution
 
WWDC 2019 Recap
WWDC 2019 RecapWWDC 2019 Recap
WWDC 2019 Recap
 
Network Policies
Network PoliciesNetwork Policies
Network Policies
 
Interpretable Machine Learning
Interpretable Machine LearningInterpretable Machine Learning
Interpretable Machine Learning
 
Jenkins X – CI/CD in wolkigen Umgebungen
Jenkins X – CI/CD in wolkigen UmgebungenJenkins X – CI/CD in wolkigen Umgebungen
Jenkins X – CI/CD in wolkigen Umgebungen
 
AI auf Edge-Geraeten
AI auf Edge-GeraetenAI auf Edge-Geraeten
AI auf Edge-Geraeten
 
Prometheus on Kubernetes
Prometheus on KubernetesPrometheus on Kubernetes
Prometheus on Kubernetes
 
Deep Learning for Recommender Systems
Deep Learning for Recommender SystemsDeep Learning for Recommender Systems
Deep Learning for Recommender Systems
 
Azure IoT Edge
Azure IoT EdgeAzure IoT Edge
Azure IoT Edge
 
Representation Learning von Zeitreihen
Representation Learning von ZeitreihenRepresentation Learning von Zeitreihen
Representation Learning von Zeitreihen
 
Talk to me – Chatbots und digitale Assistenten
Talk to me – Chatbots und digitale AssistentenTalk to me – Chatbots und digitale Assistenten
Talk to me – Chatbots und digitale Assistenten
 
Künstlich intelligent?
Künstlich intelligent?Künstlich intelligent?
Künstlich intelligent?
 
Dev + Ops = Go
Dev + Ops = GoDev + Ops = Go
Dev + Ops = Go
 
Das Android Open Source Project
Das Android Open Source ProjectDas Android Open Source Project
Das Android Open Source Project
 
Machine Learning Interpretability
Machine Learning InterpretabilityMachine Learning Interpretability
Machine Learning Interpretability
 
Performance evaluation of GANs in a semisupervised OCR use case
Performance evaluation of GANs in a semisupervised OCR use casePerformance evaluation of GANs in a semisupervised OCR use case
Performance evaluation of GANs in a semisupervised OCR use case
 
People & Products – Lessons learned from the daily IT madness
People & Products – Lessons learned from the daily IT madnessPeople & Products – Lessons learned from the daily IT madness
People & Products – Lessons learned from the daily IT madness
 
Infrastructure as (real) Code – Manage your K8s resources with Pulumi
Infrastructure as (real) Code – Manage your K8s resources with PulumiInfrastructure as (real) Code – Manage your K8s resources with Pulumi
Infrastructure as (real) Code – Manage your K8s resources with Pulumi
 

Amazon EMR Grundlagen

  • 2. 2 ● Was ist Amazon EMR? ● Cluster Aufbau ● EMR MapReduce-Job ● Workflow ● Cluster Management ● EMR-CLI ● Cluster erstellen ● MapReduce-Jobs per EMR-CLI ausführen ● EMR Monitoring ● DEMO Agenda
  • 3. 3 ● Amazon Elastic MapReduce ● Web-Dienst von Amazon für das Erstellen von skalierbaren Clustern ● Cluster Nodes sind Amazon EC2-Instanzen [1] ● Verwendung des Hadoop Frameworks (HDFS + MapReduce) ● Vergleichbarer Funktionsumfang wie bei einem realen Hadoop- Cluster (weitere Hadoop Komponenten) ● Abrechnung nach Nutzungsdauer ● Cluster ist um weitere Nodes erweiterbar Was ist Amazon EMR?
  • 4. 4 ● HDFS (Daten verfallen, sobald der Cluster terminiert wird) ● Amazon S3 (Amazon Cloud Storage) ● Amazon DynamoDB (NoSQL Datenbankservice) ● Amazon Redshift (Data Warehouse Service) ● Amazon Relational Database Service (RDBMS) Was ist Amazon EMR? ● Speicherung der Daten
  • 5. 5 ● Hive (Data-Warehouse) ● Pig (Scripting Platform) ● HBase (NoSQL Datenbank) ● Impala (Echtzeit Abfrage Engine) ● Ganglia (Cluster Monitoring) ● HCatalog (Tabellen- und Speicherverwaltung) ● Mahout (maschinelles Lernen) ● ... Was ist Amazon EMR? ● Unterstützte Hadoop Komponenten
  • 6. 6 ● Besteht aus mehreren EC2 Instanzen, die auf die jeweiligen Bedürfnisse optimiert sind (Standard, CPU, RAM, ... [1]) ● EC2-Instanzen bilden die einzelnen Nodes (Name- und Data- Nodes sowie Job- und Task-Tracker) ● Hadoop Framework ist in verschiedenen Versionen verfügbar [3] ● MapReduce Version 1 und 2 ● Kombinierbar mit weiteren Amazon AWS Diensten ● MapR Distribution verfügbar Cluster Aufbau
  • 8. 8 ● 1 Job = 1 Step ● Steps werden nacheinander abgearbeitet ● Cluster kann max. 256 Steps zugewiesen bekommen ● Zustand der Steps kann Pending, Running, Cancelled, Terminated, Failed oder Completed einnehmen ● Steps per Management Console an Cluster übertragen oder per EMR-CLI ● Letzter Step terminiert Cluster oder wartet auf weitere Steps (je nach Konfiguration des Clusters) EMR MapReduce-Job
  • 9. 9 1. MapReduce-Job erstellen 2. Daten für die Bearbeitung zur Verfügung stellen (lokal oder mit Hilfe von einer der unterstützten Speichermöglichkeiten) 3. EMR-Cluster erstellen (Management Console oder EMR-CLI) 4. Amazon erstellt eine eindeutige JobFlow-ID für den Cluster 5. MapReduce-Job zum Ausführen an Cluster senden 6. Warten bis MapReduce-Job abgeschlossen wurde und das Ergebnis evtl. weiter verarbeiten Workflow ● Vom Erstellen eines Cluster bis zum zum Ausführen eines Jobs
  • 10. ● Verwaltung mit Hilfe der Amazon AWS Management Console ● Verwaltung mit dem Amazon EMR CLI 10 Cluster Management ● EMR Cluster Verwalten
  • 11. 11 ● Hadoop Cluster erstellen ● Bootstrap Aktionen definieren ● Größe eines laufenden Clusters verändern ● Cluster Konfiguration ● MapReduce-Jobs auf dem Cluster starten ● Konfigurationen im JSON-Format an Cluster übergeben ● ... EMR-CLI ● Was kann EMR-CLI?
  • 12. ● Voraussetzung ist Ruby ab Version 1.8.7 ● EMR-CLI auf der Amazon-Webseite downloaden und in einem Verzeichnis entpacken ● Im Verzeichnis eine credentials.json Datei erstellen → Zugriff auf AWS-Dienste ● Mit dem Kommando „elastic-mapreduce“ wird EMR über das CLI bedient 12 EMR-CLI Installation und Konfiguration
  • 13. 13 ● elastic-mapreduce --create --alive --set-termination-protection --name „Clustername“ --num-instances 7 --instance-type m1.small --master-instance-type m1.small --log-uri s3n://inovex-storage/logs/ --ami-version 2.1.4 --bootstrap-action s3://elasticmapreduce/bootstrap-actions/configure-hadoop --args „-h,dfs.replication=3,-h,dfs.block.size=67108864,- m,mapred.jobtracker.taskScheduler=org.apache.hadoop.mapred.FairScheduler“ --bootstrap-action s3://elasticmapreduce/bootstrap-actions/install-ganglia Cluster erstellen ● Beispiel
  • 14. 14 ● elastic-mapreduce --create Einleitung einer Cluster Generierung --alive Cluster soll selbst nach abgeschlossenen Jobs nicht terminiert werden --set-termination-protection true Setzt den Termination-Protection Status (True|False) --name „Clustername“ Clusternamen (muss nicht eindeutig sein) --num-instances 7 Anzahl Instanzen des Clusters(NameNode + DataNodes) --instance-type m1.small EC2 Instanztyp der DataNodes --master-instance-type m1.small EC2 Instanztyp der NameNode --log-uri s3n://inovex-storage/logs/ Pfad für die Speicherung der Log-Dateien --ami-version 2.1.4 AMI Version = Unterstützung unterschiedlicher Hadoop Komponenten und Versionen (Bsp.: 2.1.4 = Hive 0.7.1) --bootstrap-action s3://elasticmapreduce/bootstrap-actions/configure-hadoop –args „-h,dfs.replication=3,-h,dfs.block.size=67108864,- m,mapred.jobtracker.taskScheduler=org.apache.hadoop.mapred.FairScheduler“ Bootstrap Aktion zur Konfiguration von Hadoop --bootstrap-action s3://elasticmapreduce/bootstrap-actions/install-ganglia Bootstrap Aktion zur Installation zusätzlicher Komponenten [2] Cluster erstellen ● Beschreibung des Befehls
  • 15. 15 ● Amazon EMR Skripte, die auf dem Cluster ausgeführt werden, wenn der Cluster erstellt wird ● Ausführung eigener Skripte – --bootstrap-action „s3://<Pfad>/Dateiname“ --args „arg1,arg2,...“ ● Aktionen: – Installation von Komponenten (Ganglia, Hue, HBase, ..) – Konfiguration diverser Komponenten (Hadoop, Hive, Hbase, …) Cluster erstellen ● Bootstrap Aktion
  • 16. 16 ● --bootstrap-action s3://elasticmapreduce/bootstrap- actions/configure-hadoop –args „<arg1>,<arg2>,...“ ● Argumente: – Übergabe von Konfigurationsdateien (z.B. config.xml) – Übergabe von Key-Value Paaren (z.B. mapred.map.tasks=4) ● Bsp.: --args „M,s3://<bucketname>/config.xml,- h,dfs.block.size=67108864“ Cluster erstellen ● Bootstrap Aktion: Hadoop Konfiguration
  • 17. 17 ● Job-Informationen können einzeln an Amazon EMR übergeben werden (wird nicht weiter betrachtet!) ● Jobs können mit Hilfe von JSON-Files zusammengefasst und den Cluster übermittelt werden ● JSON Verwendung bei EMR: – Auswahl der Cluster Nodes (Amazon EC2-Instanzen) – Clusterkonfiguration – MapReduce-Job Konfiguration ● Vorteile: – Vereinfachte Möglichkeit mehrere Jobs gleichzeitig an Cluster zu übermitteln – Wiederverwendbarkeit MapReduce-Jobs per EMR-CLI ausführen ● JSON-Files
  • 18. 18 ● Steps: – Konfiguration der MapReduce-Jobs ● Voraussetzung: Jobflow-ID – Cluster muss verfügbar sein – Befehl: elastic-mapreduce --json <JSON-Dateiname> --jobflow <Jobflow-ID> ● Beispiel: – Step 1: TeraGen → Daten erzeugen – Step 2: TeraSort → Erzeugte Daten sortieren MapReduce-Jobs per EMR-CLI ausführen ● JSON-Files Aufbau
  • 19. 19 ● Hadoop Monitoring mit Ganglia ● Ganglia Installation: – --bootstrap-action s3://elasticmapreduce/bootstrap- actions/install-ganglia ● Webfrontend läuft auf dem Master Node ● Zugriff durch Portforwarding (SSH-Tunnel) [4] EMR Monitoring
  • 22. 22 Vielen Dank für Ihre Aufmerksamkeit Kontakt Waldemar Reger inovex GmbH Office Köln Kupferhütte 4.1 Schanzenstraße 6 - 20 51063 Köln Mail: waldemar.reger@inovex.de
  • 23. 23 [1] http://aws.amazon.com/de/ec2/instance-types/ [2] http://docs.aws.amazon.com/ElasticMapReduce/latest/DeveloperGuide/emr-plan-bootstrap.html [3] http://docs.aws.amazon.com/ElasticMapReduce/latest/DeveloperGuide/ami-versions-supported.html [4] http://docs.aws.amazon.com/ElasticMapReduce/latest/DeveloperGuide/UsingEMR_Ganglia.html Quellen