0
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...
3
●
Amazon Elastic MapReduce
●
Web-Dienst von Amazon für das Erstellen von skalierbaren Clustern
●
Cluster Nodes sind Amaz...
4
●
HDFS (Daten verfallen, sobald der Cluster terminiert wird)
●
Amazon S3 (Amazon Cloud Storage)
●
Amazon DynamoDB (NoSQL...
5
●
Hive (Data-Warehouse)
●
Pig (Scripting Platform)
●
HBase (NoSQL Datenbank)
●
Impala (Echtzeit Abfrage Engine)
●
Gangli...
6
●
Besteht aus mehreren EC2 Instanzen, die auf die jeweiligen
Bedürfnisse optimiert sind (Standard, CPU, RAM, ... [1])
●
...
7
Cluster Aufbau
8
●
1 Job = 1 Step
●
Steps werden nacheinander abgearbeitet
●
Cluster kann max. 256 Steps zugewiesen bekommen
●
Zustand de...
9
1. MapReduce-Job erstellen
2. Daten für die Bearbeitung zur Verfügung stellen (lokal oder mit
Hilfe von einer der unters...
●
Verwaltung mit Hilfe der Amazon AWS Management Console
●
Verwaltung mit dem Amazon EMR CLI
10
Cluster Management
●
EMR C...
11
●
Hadoop Cluster erstellen
●
Bootstrap Aktionen definieren
●
Größe eines laufenden Clusters verändern
●
Cluster Konfigu...
●
Voraussetzung ist Ruby ab Version 1.8.7
●
EMR-CLI auf der Amazon-Webseite downloaden und in einem
Verzeichnis entpacken
...
13
●
elastic-mapreduce --create --alive --set-termination-protection --name „Clustername“
--num-instances 7 --instance-typ...
14
●
elastic-mapreduce --create Einleitung einer Cluster Generierung
--alive Cluster soll selbst nach abgeschlossenen Jobs...
15
●
Amazon EMR Skripte, die auf dem Cluster ausgeführt werden,
wenn der Cluster erstellt wird
●
Ausführung eigener Skript...
16
●
--bootstrap-action s3://elasticmapreduce/bootstrap-
actions/configure-hadoop –args „<arg1>,<arg2>,...“
●
Argumente:
–...
17
●
Job-Informationen können einzeln an Amazon EMR übergeben
werden (wird nicht weiter betrachtet!)
●
Jobs können mit Hil...
18
●
Steps:
– Konfiguration der MapReduce-Jobs
●
Voraussetzung: Jobflow-ID
– Cluster muss verfügbar sein
– Befehl:
elastic...
19
●
Hadoop Monitoring mit Ganglia
●
Ganglia Installation:
– --bootstrap-action s3://elasticmapreduce/bootstrap-
actions/i...
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 - 2...
23
[1] http://aws.amazon.com/de/ec2/instance-types/
[2] http://docs.aws.amazon.com/ElasticMapReduce/latest/DeveloperGuide/...
Upcoming SlideShare
Loading in...5
×

Amazon EMR Grundlagen

165

Published on

Waldemar Reger, inovex GmbH, Juli 2014

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
165
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
1
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Transcript of "Amazon EMR Grundlagen"

  1. 1. Amazon EMR Grundlagen Waldemar Reger Köln, 18.07.2014
  2. 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. 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. 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. 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. 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. 7. 7 Cluster Aufbau
  8. 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. 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. 10. ● Verwaltung mit Hilfe der Amazon AWS Management Console ● Verwaltung mit dem Amazon EMR CLI 10 Cluster Management ● EMR Cluster Verwalten
  11. 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. 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. 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. 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. 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. 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. 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. 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. 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. 20. 20 DEMO DEMO
  21. 21. 21 Danke
  22. 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. 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
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×