Anda di halaman 1dari 41

Big Data dengan

Hadoop
Oleh : Agus Priyanto, M.Kom

SEKOLAH TINGGI TEKNOLOGI TELEMATIKA TELKOM


Smart, Trustworthy, And Teamwork
Tujuan Pembelajaran
 Setelah mengikuti pertemuan ini,
mahasiswa dapat memahami
arsitektur Hadoop

 Setelah mengikuti pertemuan ini,


mahasiswa dapat memahami
Ekosistem Hadoop dan Cara Kerja
Hadoop
Definisi Hadoop
Apache Hadoop adalah suatu
framework yang memungkinkan
pemrosesan data set besar pada
kluster-kluster komputer secara
terdistribusi dengan memanfaatkan
model-model pemrograman
sederhana
Hadoop dirancang untuk dapat
dikembangkan (scale up) dari sebuah
server hingga ribuan mesin, dimana
tiap-tiap mesin tersebut menawarkan
fitur komputasi dan penyimpanan
secara lokal
Hadoop tidak bergantung pada
hardware untuk memberikan tingkat
ketersediaan yang tinggi (high
availability) karena library Hadoop
sendiri dirancang untuk mendeteksi
dan menangani kegagalan (failure)
pada layer aplikasi.
Hadoop bukanlah sebuah software,
melainkan sebuah framework open source
Apache yang dikembangkan menggunakan
bahasa pemrograman Java, dan dapat
digunakan untuk memproses data set yang
besar menjadi komputasi terdistribusi yang
lebih kecil
Pengguna Hadoop
Sejarah
Doug Cutting Mike Cafarella

Hadoop diciptakan oleh Doug Cutting dan


Mike Cafarella pada tahun 2005 yang pada
saat itu bekerja di Yahoo!
Timeline

2002 2003 2004


•Nutch project started •Google publish GFS •Develop Nutch
architecture paper Distributed File System
•Google publish
MapReduce Paper
2006 2008
• Hadoop project started • Hadoop became top
level project in Apache
• Hadoop broke the record
the fastest system to sort
terabytes of data
Hadoop dan Cloud Support

 Hadoop flavor
 Apache Hadoop (http://hadoop.apache.org)
 Cloudera – CDH (http://cloudera.com)
 Yahoo! Hadoop
(https://developer.yahoo.com/hadoop/)

 Cloud Support
 Amazon Elastic MapReduce
(https://aws.amazon.com/elasticmapreduce/)
 Google Cloud Platform
(https://cloud.google.com/solutions/hadoop/)
Arsitektur Hadoop 1.0
dan Hadoop 2.0
Komponen dalam Hadoop
Hadoop Common : Java libraries
yang dibutuhkan oleh modul-modul
Hadoop lainnya
 Menyediakan file sistem yang digunakan
untuk memulai Hadoop
Hadoop YARN : Platform untuk
manajemen sumber daya (resource)
 Mengatur sumber daya komputasi dalam
kluster, dan menggunakannya untuk
penjadwalan aplikasi pengguna
Hadoop Distributed File System (HDFS) :
Sistem file terdistribusi yang menyimpan
data pada commodity machine
 Storage Engine
 Membagi/mendistribusi file pada node
dalam cluster
 Komponen : Name node dan data node
Map/Reduce : Suatu model
pemrograman yang digunakan untuk
memproses data berskala besar
secara paralel.
 Processing Engine
 Mendistribusikan proses pada node lain
 Komponen : Job tracker dan task tracker
Hadoop : Ciri Utama
Affordable – bisa berjalan pada
hardware ‘pasaran’

Reliable – tahan terhadap kegagalan


hardware/software

Scalability – hadoop bisa bertambah


secara linear dengan menambahkan
node baru dalam sistem
Cost-effective – Hadoop membawa
komputasi paralel yang masif
(berjumlah sangat besar) ke dalam
suatu commodity server 
penghematan biaya penyimpanan
per terabyte yang akan membuat
pemodelan seluruh data menjadi lebih
terjangkau (affordable)
 Flexible – Hadoop bersifat schema-less,
dan dapat mendukung berbagai tipe
data, baik yang terstruktur atau tidak
terstruktur, dari berbagai sumber.

 Fault-tolerant – ketika terjadi masalah


dalam suatu node, maka sistem akan
mengalihkan pekerjaan (work) ke lokasi
lain dari data tersebut, kemudian
melanjutkan pemrosesan.
Hadoop Ekosistem
 Hadoop dilengkapi dengan sebuah
ekosistem yang berisikan proyek-proyek dari
Apache, yang meningkatkan nilai serta
kebergunaan dari Hadoop.

 Common – sekumpulan komponen dan


interface untuk sistem file terdistribusi dan
general I/O (serialization, Java RPC,
persistent data structures).
 Avro – sistem serialization untuk
penyimpanan data yang efisien, cross-
language RPC dan persistent.

 MapReduce – model pemrosesan data dan


lingkungan eksekusi (execution environment)
terdistribusi yang dapat berjalan dalam
kluster-kluster besar dari suatu commodity
machine.
 HDFS – sistem file terdistribusi yang
berjalan pada kluster-kluster besar dari
suatu commodity machine.

 Pig – data flow language dan lingkungan


eksekusi untuk menjelajahi (explore) data
set yang sangat besar. Pig berjalan pada
HDFS dan kluster-kluster MapReduce.
 Hive – merupakan suatu data
warehouse terdistribusi.
o Hive mengatur data yang disimpan di
HDFS serta menyediakan suatu bahasa
query yang berbasis SQL (yang kemudian
akan diterjemahkan ke dalam job-job
MapReduce oleh runtime engine) untuk
melakukan query data
 HBase – suatu basis data yang
terdistribusi dan column-oriented.
o Hbase menggunakan HDFS untuk
media penyimpanannya, serta
mendukung baik komputasi berjenis
batch menggunakan MapReduce,
maupun point queries (random reads).
 ZooKeeper : sebuah coordination
service yang terdistribusi dan highly
available.
o ZooKeeper menyediakan fitur seperti
kunci-kunci terdistribusi (distributed locks)
yang dapat digunakan untuk
membangun aplikasi-aplikasi terdistribusi
 Sqoop – tool untuk transfer bulk data
secara efisien antara data store yang
terstruktur (seperti database
relasional) dan HDFS.

 Oozie – service untuk menjalankan dan


menjadwalkan workflow dari job-job
Hadoop (termasuk job
MapReduce, Pig, dan Hive).
Cara Kerja Hadoop
 Tahap 1 : Pengguna atau aplikasi dapat
menyerahkan suatu job ke Hadoop (klien
job Hadoop) dengan menspesifikasikan
beberapa item, yaitu:
 Lokasi dari input dan output file yang ada dalam sistem file
terdistribusi,
 Kelas-kelas java dalam bentuk jar yang berisikan implementasi
dari fungsi-fungsi map dan reduce,
 Dan konfigurasi job, dengan mengatur parameter-parameter
berbeda secara spesifik untuk suatu job.
Tahap 2 : Klien job Hadoop akan
menyerahkan job (jar/executable)
dan konfigurasinya ke JobTracker,
kemudian mengasumsikan kewajiban
untuk mendistribusikan software/
konfigurasi ke slave, menjadwalkan
task dan memantaunya, serta
menyediakan status dan informasi ke
job-client
Tahap 3 : TaskTracker pada node yang
berbeda akan mengeksekusi task per
implementasi MapReduce, kemudian
keluaran dari fungsi map reduce akan
disimpan pada file output yang ada di
sistem file.
Client
job

Map Reduce
Job Name
HDFS
Tracker Node

Task Task Task Task Task


Task
tracker tracker tracker
Task Task Task

Task Task Task

Data node Data node Data node

Server Server Server


Name Node dan Data Node
 Name Node
 Master dari HDFS (Hadoop Distributed File
System)
 Mengatur Data Node
 Mengatur bgmana file dibagi dalam blok
dan penyimpanannya
 Membagi job ke Data Node

 Data Node
 Tempat blok disimpan
 Menerima instruksi dari Name Node
Job dan Task Tracker
Job Tracker
 Membagi task ke HDFS Cluster
 Melacak Map/Reduce tasks
 Restarts task yang gagal ke node lain
 Melakukan speculative execution

Task Tracker
 Melacak individual map/reduce
 Report kemajuan task ke Job Tracker
The Hadoop Way
Cloudera: CDH + Tableau
 Cloudera adalah salah satu kontributor aktif
dari Hadoop Project yang menyediakan
sebuah distribusi Hadoop open-source
bernama CDH (Cloudera’s Distribution
Hadoop).

 Sedangkan, Tableau sendiri merupakan


salah satu perangkat lunak Business
Intelligence (BI) yang sudah mendukung
Cloudera Distribution (CDH) termasuk
Apache Hadoop
Komponen CDH4 Relasi CDH4 dan Tableau
http://hadoop.apache.org
http://hortonworks.com/

http://cloudera.com/
Hortonworks dan Ambari
 Hortonworks Data Platform (HDP)
merupakan sebuah distribusi Hadoop dalam
bentuk ‘packaged software’

 Dengan memanfaatkan konsep dari


arsitektur YARN, HDP menyediakan suatu
platform data untuk pemrosesan data multi-
workload, dan didukung oleh kemampuan
yang dibutuhkan platform data untuk
enterprise — spanning Governance, Security
and Operations.
What Hadoop is Not !
 Hadoop tidak cocok sebagai pengganti
database
 Map Reduce tidak selalu menjadi
algoritma terbaik
 Bukan tempat yang pas untuk belajar
Java
 Hadoop cluster bukan tempat belajar
Linux network administration
 Bukan tempat belajar memahami pesan
error jaringan

http://wiki.apache.org/hadoop/HadoopIsNot

Anda mungkin juga menyukai