SlideShare ist ein Scribd-Unternehmen logo
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

Weitere ähnliche Inhalte

Andere mochten auch

Charla Tryve en Expobike 2015
Charla Tryve en Expobike 2015Charla Tryve en Expobike 2015
Charla Tryve en Expobike 2015
Alejandro Rios Peña
 
Presentación 1
Presentación 1Presentación 1
Presentación 1
hfabiomarin
 
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 final
Jason Boud
 
Adiccion a los videojuegos
Adiccion a los videojuegosAdiccion a los videojuegos
Adiccion a los videojuegos
Lezzliie EsCck
 
Memoria Red Salud 2012
Memoria Red Salud 2012Memoria Red Salud 2012
Memoria Red Salud 2012
el_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 barcelona
Rafael Martinez
 
Wikivial 2011
Wikivial 2011Wikivial 2011
Wikivial 2011
Sierra Francisco Justo
 
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 final
Justin 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 Interno
Edita 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
 
Csr
CsrCsr
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
Vicente 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
 
Tratamiento de aguas residuales
Tratamiento de aguas residualesTratamiento de aguas residuales
Tratamiento de aguas residuales
LUIS STAPLETON PRIETO
 
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
Marketing 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 aceite
GONHER Autopartes
 
Catalogue francais 2014
Catalogue francais 2014Catalogue francais 2014
Catalogue francais 2014
EUROPAGES
 
Desarrollo territorial
Desarrollo territorialDesarrollo territorial
Desarrollo territorial
Gustavo Sosa
 

Andere mochten auch (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
 

Ähnlich wie 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 verwalten
DevDay 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 AWS
root360 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
 
Node.js
Node.jsNode.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)
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 verwalten
inovex GmbH
 
Infrastructure as Code - BaselOne 17
Infrastructure as Code - BaselOne 17Infrastructure as Code - BaselOne 17
Infrastructure as Code - BaselOne 17
remigius-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
 
Amazon Redshift
Amazon RedshiftAmazon Redshift
Amazon Redshift
AWS Germany
 
Infrastructure as Code mit Terraform
Infrastructure as Code mit TerraformInfrastructure as Code mit Terraform
Infrastructure as Code mit Terraform
Harald 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 GIS
Peter 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 Angrybird
AOE
 
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 Cloud
AOE
 
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
Andreas 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 Performance
Jonas Hünig
 
Dokumentenorientiere Datenbanken am Beispiel CouchDB
Dokumentenorientiere Datenbanken am Beispiel CouchDBDokumentenorientiere Datenbanken am Beispiel CouchDB
Dokumentenorientiere Datenbanken am Beispiel CouchDB
Mario Müller
 
Schweine latein-vortrag
Schweine latein-vortragSchweine latein-vortrag
Schweine latein-vortrag
Ramon 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
 

Ähnlich wie 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...
 

Mehr von inovex GmbH

lldb – Debugger auf Abwegen
lldb – Debugger auf Abwegenlldb – Debugger auf Abwegen
lldb – Debugger auf Abwegen
inovex 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 AI
inovex 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 evolution
inovex GmbH
 
WWDC 2019 Recap
WWDC 2019 RecapWWDC 2019 Recap
WWDC 2019 Recap
inovex GmbH
 
Network Policies
Network PoliciesNetwork Policies
Network Policies
inovex GmbH
 
Interpretable Machine Learning
Interpretable Machine LearningInterpretable Machine Learning
Interpretable Machine Learning
inovex 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 Umgebungen
inovex GmbH
 
AI auf Edge-Geraeten
AI auf Edge-GeraetenAI auf Edge-Geraeten
AI auf Edge-Geraeten
inovex GmbH
 
Prometheus on Kubernetes
Prometheus on KubernetesPrometheus on Kubernetes
Prometheus on Kubernetes
inovex GmbH
 
Deep Learning for Recommender Systems
Deep Learning for Recommender SystemsDeep Learning for Recommender Systems
Deep Learning for Recommender Systems
inovex GmbH
 
Azure IoT Edge
Azure IoT EdgeAzure IoT Edge
Azure IoT Edge
inovex GmbH
 
Representation Learning von Zeitreihen
Representation Learning von ZeitreihenRepresentation Learning von Zeitreihen
Representation Learning von Zeitreihen
inovex 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 Assistenten
inovex GmbH
 
Künstlich intelligent?
Künstlich intelligent?Künstlich intelligent?
Künstlich intelligent?
inovex GmbH
 
Dev + Ops = Go
Dev + Ops = GoDev + Ops = Go
Dev + Ops = Go
inovex GmbH
 
Das Android Open Source Project
Das Android Open Source ProjectDas Android Open Source Project
Das Android Open Source Project
inovex GmbH
 
Machine Learning Interpretability
Machine Learning InterpretabilityMachine Learning Interpretability
Machine Learning Interpretability
inovex 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 case
inovex 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 madness
inovex 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 Pulumi
inovex GmbH
 

Mehr von 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