AWS – EMR
(ELASTIC MAP/REDUCE)
Serkan ÖZAL
Big Data Hackathon
Şubat 2014
İçerik
 Amazon EMR Nedir
 Amazon EMR Ana Bileşenleri
 Amazon EMR Özellikleri
 Amazon EMR Kullanım Yöntemleri
 Instance Tipleri

 Cluster Tipleri
 Amazon EMR Node Tipleri
 Amazon EMR Mimarisi
 Amazon EMR’ın Web Arayüzü İle Kullanımı

2
Hadoop-as-a-service

Map-Reduce motoru

Diğer araçlar ile entegre

EMR Nedir?
Ölçeklenebilir

Amazon servisleri ile entegre

Kolay konfigüre edilebilir ve yönetilebilir
Amazon EMR Ana Bileşenleri
 Amazon EC2
 Esnek - Kapasite kolay bir şekilde arttırılıp azaltılabilir.

 Biçimlendirilebilir: Birçok instance tipi (CPU, Memory, Storage),

işletim sistemi ve yazılım paketi destekliyor
 Güvenilir: Her Amazon EC2 Region’da 99.95%
kullanılabilirlik
 Düşük Maliyet: Reserved Instance ve Spot Instance

oranında

 Amazon S3
 1 byte’dan 5 terabyte’ kadar veri tutan object yazılıp okunabilir.
 Object’ler bucket’lar içinde tutulur.
 Tutulan veriler için 99.999999999% dayanıklılık ve 99.99% devamlılık

için tasarlanmıştır.
 Veriler şifrelenerek tutulabilir ve veri upload/download işlemleri de
güvenli bağlantı üstünden yapılabilir.
4
Amazon EMR Özellikleri
 Web arayüzü, komut satırı veya API ile kullanım






5

kolaylığı sunar.
Kolay bir şekilde Hadoop cluster’ı kurma,
yönetme, ve konfigüre etme sunar.
Distributed file system olarak kendi servisleri olan
AWS S3’ü sunar. Fakat istenirse Hadoop
HDFS’de kullanılabilir.
Çalışan cluster ve joblar monitor edilebilip
istenirse kapasiteleri değiştirilebilir.
Cluster istenilen zamanda veya joblar bittiğinde
kapatılabilir ve böylece sadece kullanıldığı kadar
ücret ödenir.
Amazon EMR Kullanım
Yöntemleri
 Web Arayüzü
 «console.aws.amazon.com»

 Rest API
 HTTP requestleri ile kullanılır.

 Command Line Tools
 Komut satırından girilen komutlar ile kullanılır.

 Programlama API
 Java
 .NET
 Ruby

 PHP
 Javascript (NodeJS için)
6
Reserved Instance
 1 ile 3 yıllık süreler boyunca belirtilen sayıda

Amazon EC2 instance’ı size ayırılır ve bu süre
boyunca siz istemediğiniz sürece sizden
alınamaz.
 Kullansanız da kullanmasanız da parasını
ödersiniz fakat normal durumda sürekli olan
kullanımla kıyaslandığında farklı optimizasyon
seviyelerine göre %65’e kadar ucuza gelebilir.
 Sürekli çalışacak instance’ların maliyet açısından
«reserved instance» olarak seçilmesi çok daha
uygundur.
7
On Demand Instance
 Belirtilen sayıda instance sizin için açılır ve siz

istemediğiniz sürece sizden alınamaz.
 Kullanıldığınız kadar ödersiniz. Kullanım süresi
saat bazlıdır. Yani 5 dk kullanım ile 55 dk
kullanımın size olan maliyeti aynıdır.
 Kısa süreli çalışacak ve kesilmesi uygun olmayan
işlerin yapılması için maliyet açısından «ondemand instance» seçilmesi daha uygundur.

8
Spot Instance
 «Spot» instance’lar «On-Demand» ve «Reserved»

9

instance’lara ek olarak sunulur ve müşterilere
hesaplama kapasitesi için ek bir opsiyon sağlar.
 «Spot» Instance kullanabilmek için müşteriler o anda
kulanılmamakta olan EC2 instance’ları için fiyat teklifi
yaparlar. Teklif edilen fiyat o anda o instance için
belirlenmiş Spot fiyatını aştığı sürece, teklif verilen
instance tipi kullanılabilir. Spot fiyatı periyodik olarak
arz ve talebe göre değişir.
 Bu tip instance’lar daha çok Anaytics, Big Data,
Financial modeling and analysis, Image and Media
encoding,
Scientific
Computing
alanlarda
kullanılmaktadır.
Cluster Tipleri
 Transient Cluster
 Cluster

job süresince var olur ve job bitince

kapatılır.
 Alive Cluster
 Sürekli açık halde bir cluster vardır ve job’lar bu

cluster’a gönderilir. Job’lar bittikten sonra cluster
sonra gelecek joblar için ayaktadır.
 Elastic Cluster

başlangıçta belirli bir node sayısı ile
başlatılır. Daha sonra manuel olarak yada otomatik
olarak (sistemdeki CPU, Memory, Network gibi yük
miktarını göz önüne alarak) cluster’daki node sayısı
dinamik olarak arttırılıp azaltılabilir.

 Cluster

10
Amazon EMR Node Tipleri
 Cluster içinde 3 çeşit node (instance) tipi

vardır:
 Master Node

 Core Node’lar
 Task Node’lar

11
Amazon EMR Mimarisi

12
Master Node
Amazon EMR cluster

Cluster’daki diğer
instanceları yönetir
ve kontrol eder.
Onlara iş atar ve
sonuçlarını
alır.
«Job Tracker» bu
node’da çalışır.

Master instance group
Master
Node

Core instance group
Core Nodes
Amazon EMR cluster

Core
instance’lar
hem «Data Node»
hem «TaskTracker
Node»
olarak
çalışırlar. Yani hem
veri deplolar, sunar
hem de ana işin alt
kısımlarını
yapan
task’ları çalıştırırlar.

Master instance group
Master
Node

HDFS

HDFS

Core instance group
Task Nodes
Amazon EMR cluster

Sistemdeki
yük
miktarına
göre
sonradan eklenip
çıkarılabilir. «Data
Node» olarak görev
yapmazlar ve veri
tutmazlar. Sadece
«TaskTracker
Node» olarak görev
yapalar ve ana işin
alt kısımları olan
task’ları çalıştırırlar.

Master instance group
Master
Node

HDFS

HDFS

Core instance group
S3
Amazon EMR cluster

Distributed
file
system
olarak
işlenilecek veriyi ve
oluşan
sonuç
verisini tutar.

Master instance group
Master
Node

HDFS

HDFS

Core instance group

Amazon S3
İşleyiş
Amazon EMR cluster

«Master
Node»
slave olarak çalışan
«Core Node» ve
«Task Node» ları
yönetir, onlara alt
işleri atar ve onları
izler. Tüm slave
node’larn
hepsi
işlerini
bitirdiği
zaman
kendisini
çağıran
sisteme
görevin
bittiğini
haber eder.

Master instance group
Master
Node

HDFS

HDFS

Core instance group

Amazon S3
Amazon EMR’ın Web Arayüzü İle
Kullanımı
 «console.aws.amazon.com/elasticmapreduce»

18
AWS Console

19
Amazon EMR Console

20
Cluster Configuration

21
Software Configuration

22
Hardware Configuration

23
Security And Access

24
Job Tipi Seçimi

25
Hadoop Jar’ının Tanımlanması

26
Cluster’ı Oluşturma

27
Job Başlıyor

28
Job Sonuçları

29
Job Sonucunun İndirilmesi - 1

30
Job Sonucunun İndirilmesi - 2

31
Cluster’ın Kapatılması

32
Job Sonuçları

33
Teşekkürler

34

AWS EMR - Amazon Elastic Map Reduce

  • 1.
    AWS – EMR (ELASTICMAP/REDUCE) Serkan ÖZAL Big Data Hackathon Şubat 2014
  • 2.
    İçerik  Amazon EMRNedir  Amazon EMR Ana Bileşenleri  Amazon EMR Özellikleri  Amazon EMR Kullanım Yöntemleri  Instance Tipleri  Cluster Tipleri  Amazon EMR Node Tipleri  Amazon EMR Mimarisi  Amazon EMR’ın Web Arayüzü İle Kullanımı 2
  • 3.
    Hadoop-as-a-service Map-Reduce motoru Diğer araçlarile entegre EMR Nedir? Ölçeklenebilir Amazon servisleri ile entegre Kolay konfigüre edilebilir ve yönetilebilir
  • 4.
    Amazon EMR AnaBileşenleri  Amazon EC2  Esnek - Kapasite kolay bir şekilde arttırılıp azaltılabilir.  Biçimlendirilebilir: Birçok instance tipi (CPU, Memory, Storage), işletim sistemi ve yazılım paketi destekliyor  Güvenilir: Her Amazon EC2 Region’da 99.95% kullanılabilirlik  Düşük Maliyet: Reserved Instance ve Spot Instance oranında  Amazon S3  1 byte’dan 5 terabyte’ kadar veri tutan object yazılıp okunabilir.  Object’ler bucket’lar içinde tutulur.  Tutulan veriler için 99.999999999% dayanıklılık ve 99.99% devamlılık için tasarlanmıştır.  Veriler şifrelenerek tutulabilir ve veri upload/download işlemleri de güvenli bağlantı üstünden yapılabilir. 4
  • 5.
    Amazon EMR Özellikleri Web arayüzü, komut satırı veya API ile kullanım     5 kolaylığı sunar. Kolay bir şekilde Hadoop cluster’ı kurma, yönetme, ve konfigüre etme sunar. Distributed file system olarak kendi servisleri olan AWS S3’ü sunar. Fakat istenirse Hadoop HDFS’de kullanılabilir. Çalışan cluster ve joblar monitor edilebilip istenirse kapasiteleri değiştirilebilir. Cluster istenilen zamanda veya joblar bittiğinde kapatılabilir ve böylece sadece kullanıldığı kadar ücret ödenir.
  • 6.
    Amazon EMR Kullanım Yöntemleri Web Arayüzü  «console.aws.amazon.com»  Rest API  HTTP requestleri ile kullanılır.  Command Line Tools  Komut satırından girilen komutlar ile kullanılır.  Programlama API  Java  .NET  Ruby  PHP  Javascript (NodeJS için) 6
  • 7.
    Reserved Instance  1ile 3 yıllık süreler boyunca belirtilen sayıda Amazon EC2 instance’ı size ayırılır ve bu süre boyunca siz istemediğiniz sürece sizden alınamaz.  Kullansanız da kullanmasanız da parasını ödersiniz fakat normal durumda sürekli olan kullanımla kıyaslandığında farklı optimizasyon seviyelerine göre %65’e kadar ucuza gelebilir.  Sürekli çalışacak instance’ların maliyet açısından «reserved instance» olarak seçilmesi çok daha uygundur. 7
  • 8.
    On Demand Instance Belirtilen sayıda instance sizin için açılır ve siz istemediğiniz sürece sizden alınamaz.  Kullanıldığınız kadar ödersiniz. Kullanım süresi saat bazlıdır. Yani 5 dk kullanım ile 55 dk kullanımın size olan maliyeti aynıdır.  Kısa süreli çalışacak ve kesilmesi uygun olmayan işlerin yapılması için maliyet açısından «ondemand instance» seçilmesi daha uygundur. 8
  • 9.
    Spot Instance  «Spot»instance’lar «On-Demand» ve «Reserved» 9 instance’lara ek olarak sunulur ve müşterilere hesaplama kapasitesi için ek bir opsiyon sağlar.  «Spot» Instance kullanabilmek için müşteriler o anda kulanılmamakta olan EC2 instance’ları için fiyat teklifi yaparlar. Teklif edilen fiyat o anda o instance için belirlenmiş Spot fiyatını aştığı sürece, teklif verilen instance tipi kullanılabilir. Spot fiyatı periyodik olarak arz ve talebe göre değişir.  Bu tip instance’lar daha çok Anaytics, Big Data, Financial modeling and analysis, Image and Media encoding, Scientific Computing alanlarda kullanılmaktadır.
  • 10.
    Cluster Tipleri  TransientCluster  Cluster job süresince var olur ve job bitince kapatılır.  Alive Cluster  Sürekli açık halde bir cluster vardır ve job’lar bu cluster’a gönderilir. Job’lar bittikten sonra cluster sonra gelecek joblar için ayaktadır.  Elastic Cluster başlangıçta belirli bir node sayısı ile başlatılır. Daha sonra manuel olarak yada otomatik olarak (sistemdeki CPU, Memory, Network gibi yük miktarını göz önüne alarak) cluster’daki node sayısı dinamik olarak arttırılıp azaltılabilir.  Cluster 10
  • 11.
    Amazon EMR NodeTipleri  Cluster içinde 3 çeşit node (instance) tipi vardır:  Master Node  Core Node’lar  Task Node’lar 11
  • 12.
  • 13.
    Master Node Amazon EMRcluster Cluster’daki diğer instanceları yönetir ve kontrol eder. Onlara iş atar ve sonuçlarını alır. «Job Tracker» bu node’da çalışır. Master instance group Master Node Core instance group
  • 14.
    Core Nodes Amazon EMRcluster Core instance’lar hem «Data Node» hem «TaskTracker Node» olarak çalışırlar. Yani hem veri deplolar, sunar hem de ana işin alt kısımlarını yapan task’ları çalıştırırlar. Master instance group Master Node HDFS HDFS Core instance group
  • 15.
    Task Nodes Amazon EMRcluster Sistemdeki yük miktarına göre sonradan eklenip çıkarılabilir. «Data Node» olarak görev yapmazlar ve veri tutmazlar. Sadece «TaskTracker Node» olarak görev yapalar ve ana işin alt kısımları olan task’ları çalıştırırlar. Master instance group Master Node HDFS HDFS Core instance group
  • 16.
    S3 Amazon EMR cluster Distributed file system olarak işlenilecekveriyi ve oluşan sonuç verisini tutar. Master instance group Master Node HDFS HDFS Core instance group Amazon S3
  • 17.
    İşleyiş Amazon EMR cluster «Master Node» slaveolarak çalışan «Core Node» ve «Task Node» ları yönetir, onlara alt işleri atar ve onları izler. Tüm slave node’larn hepsi işlerini bitirdiği zaman kendisini çağıran sisteme görevin bittiğini haber eder. Master instance group Master Node HDFS HDFS Core instance group Amazon S3
  • 18.
    Amazon EMR’ın WebArayüzü İle Kullanımı  «console.aws.amazon.com/elasticmapreduce» 18
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.

Editor's Notes

  • #4 EMR Is managed Hadoop Offering that takes burden of deploying and maintaining hadoop clusters away from developers. EMR uses Apache Hadoop mapreduce engine and integrates with variety of different tools.
  • #14 Manages the job flow: coordinating the distribution of the MapReduce executable and subsets of the raw data, to the core and task instance groups It also tracks the status of each task performed, and monitors the health of the instance groups. To monitor the progress of the job flow, you can SSH into the master node as the Hadoop user and either look at the Hadoop log files directly or access the user interface that Hadoop
  • #15 Contains all of the core nodes of a job flow. A core node is an EC2 instance that runs Hadoop map and reduce tasks and stores data using the Hadoop Distributed File System (HDFS). The EC2 instances you assign as core nodes are capacity that must be allotted for the entire job flow run. Core nodes run both the DataNodes and TaskTrackerHadoop daemons.
  • #16 Contains all of the task nodes in a job flow. The task instance group is optional. You can add it when you start the job flow or add a task instance group to a job flow in progress. You can increase and decrease the number of task nodes. Because they don't store data and can be added and removed from a job flow, you can use task nodes to manage the EC2 instance capacity your job flow uses
  • #17 We’ll start with Core nodes. Core nodes run TaskTracker and Datanode. Core nodes are very similar to traditional Hadoop salve nodes. They can process data with mappers and reducers and can also store data with HDFS or Datanode.
  • #18 We’ll start with Core nodes. Core nodes run TaskTracker and Datanode. Core nodes are very similar to traditional Hadoop salve nodes. They can process data with mappers and reducers and can also store data with HDFS or Datanode.