Upload
trinhkien
View
227
Download
1
Embed Size (px)
Citation preview
Big Data denganHadoopOleh : Agus Priyanto, M.Kom
SEKOLAH TINGGI TEKNOLOGI TELEMATIKA TELKOM
Smart, Trustworthy, And Teamwork
Tujuan Pembelajaran
Setelah mengikuti pertemuan ini, mahasiswa dapat memahamiarsitektur Hadoop
Setelah mengikuti pertemuan ini, mahasiswa dapat memahamiEkosistem Hadoop dan Cara KerjaHadoop
Definisi Hadoop
Apache Hadoop adalah suatuframework yang memungkinkanpemrosesan data set besar padakluster-kluster komputer secaraterdistribusi dengan memanfaatkanmodel-model pemrogramansederhana
Hadoop dirancang untuk dapatdikembangkan (scale up) dari sebuahserver hingga ribuan mesin, dimanatiap-tiap mesin tersebut menawarkanfitur komputasi dan penyimpanansecara lokal
Hadoop tidak bergantung padahardware untuk memberikan tingkatketersediaan yang tinggi (high availability) karena library Hadoopsendiri dirancang untuk mendeteksidan menangani kegagalan (failure) pada layer aplikasi.
Hadoop bukanlah sebuah software, melainkan sebuah framework open source
Apache yang dikembangkan menggunakanbahasa 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 danMike Cafarella pada tahun 2005 yang pada
saat itu bekerja di Yahoo!
Timeline
2002
•Nutch project started
2003
•Google publish GFS architecture paper
2004
•Develop NutchDistributed File System
•Google publish MapReduce Paper
2006
• Hadoop project started
2008
• 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-modulHadoop lainnya
Menyediakan file sistem yang digunakanuntuk memulai Hadoop
Hadoop YARN : Platform untukmanajemen sumber daya (resource)
Mengatur sumber daya komputasi dalamkluster, dan menggunakannya untukpenjadwalan aplikasi pengguna
Hadoop Distributed File System (HDFS) : Sistem file terdistribusi yang menyimpandata 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 untukmemproses data berskala besarsecara paralel.
Processing Engine
Mendistribusikan proses pada node lain
Komponen : Job tracker dan task tracker
Hadoop : Ciri Utama
Affordable – bisa berjalan padahardware ‘pasaran’
Reliable – tahan terhadap kegagalanhardware/software
Scalability – hadoop bisa bertambahsecara linear dengan menambahkannode baru dalam sistem
Cost-effective – Hadoop membawakomputasi paralel yang masif(berjumlah sangat besar) ke dalamsuatu commodity server penghematan biaya penyimpananper terabyte yang akan membuatpemodelan seluruh data menjadi lebihterjangkau (affordable)
Flexible – Hadoop bersifat schema-less, dan dapat mendukung berbagai tipedata, baik yang terstruktur atau tidakterstruktur, dari berbagai sumber.
Fault-tolerant – ketika terjadi masalahdalam suatu node, maka sistem akanmengalihkan pekerjaan (work) ke lokasilain dari data tersebut, kemudianmelanjutkan pemrosesan.
Hadoop Ekosistem
Hadoop dilengkapi dengan sebuahekosistem yang berisikan proyek-proyek dariApache, yang meningkatkan nilai sertakebergunaan dari Hadoop.
Common – sekumpulan komponen daninterface untuk sistem file terdistribusi dangeneral I/O (serialization, Java RPC, persistent data structures).
Avro – sistem serialization untukpenyimpanan data yang efisien, cross-language RPC dan persistent.
MapReduce – model pemrosesan data danlingkungan eksekusi (execution environment) terdistribusi yang dapat berjalan dalamkluster-kluster besar dari suatu commodity machine.
HDFS – sistem file terdistribusi yang berjalan pada kluster-kluster besar darisuatu commodity machine.
Pig – data flow language dan lingkunganeksekusi untuk menjelajahi (explore) data set yang sangat besar. Pig berjalan padaHDFS dan kluster-kluster MapReduce.
Hive – merupakan suatu data warehouse terdistribusi.
o Hive mengatur data yang disimpan di HDFS serta menyediakan suatu bahasaquery yang berbasis SQL (yang kemudianakan diterjemahkan ke dalam job-job MapReduce oleh runtime engine) untukmelakukan query data
HBase – suatu basis data yang terdistribusi dan column-oriented.
o Hbase menggunakan HDFS untukmedia penyimpanannya, sertamendukung baik komputasi berjenisbatch menggunakan MapReduce, maupun point queries (random reads).
ZooKeeper : sebuah coordination service yang terdistribusi dan highly available.
o ZooKeeper menyediakan fitur sepertikunci-kunci terdistribusi (distributed locks) yang dapat digunakan untukmembangun aplikasi-aplikasi terdistribusi
Sqoop – tool untuk transfer bulk data secara efisien antara data store yang terstruktur (seperti databaserelasional) dan HDFS.
Oozie – service untuk menjalankan danmenjadwalkan workflow dari job-job Hadoop (termasuk jobMapReduce, Pig, dan Hive).
Cara Kerja Hadoop
Tahap 1 : Pengguna atau aplikasi dapatmenyerahkan suatu job ke Hadoop (klienjob Hadoop) dengan menspesifikasikanbeberapa item, yaitu:
Lokasi dari input dan output file yang ada dalam sistem file terdistribusi,
Kelas-kelas java dalam bentuk jar yang berisikan implementasidari fungsi-fungsi map dan reduce,
Dan konfigurasi job, dengan mengatur parameter-parameter berbeda secara spesifik untuk suatu job.
Tahap 2 : Klien job Hadoop akanmenyerahkan job (jar/executable) dan konfigurasinya ke JobTracker, kemudian mengasumsikan kewajibanuntuk mendistribusikan software/ konfigurasi ke slave, menjadwalkantask dan memantaunya, sertamenyediakan status dan informasi kejob-client
Tahap 3 : TaskTracker pada node yang berbeda akan mengeksekusi task per implementasi MapReduce, kemudiankeluaran dari fungsi map reduce akandisimpan pada file output yang ada disistem file.
Job Tracker
Name Node
Client job
Data node
Task tracker
Task
Task
Task
Server
Data node
Task tracker
Task
Task
Task
Server
Data node
Task tracker
Task
Task
Task
Server
Map Reduce
HDFS
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 aktifdari Hadoop Project yang menyediakansebuah distribusi Hadoop open-source bernama CDH (Cloudera’s Distribution Hadoop).
Sedangkan, Tableau sendiri merupakansalah satu perangkat lunak Business Intelligence (BI) yang sudah mendukungCloudera Distribution (CDH) termasukApache Hadoop
Komponen CDH4 Relasi CDH4 dan Tableau
http://hadoop.apache.org
http://cloudera.com/
http://hortonworks.com/
Hortonworks dan Ambari
Hortonworks Data Platform (HDP) merupakan sebuah distribusi Hadoop dalambentuk ‘packaged software’
Dengan memanfaatkan konsep dariarsitektur YARN, HDP menyediakan suatuplatform data untuk pemrosesan data multi-workload, dan didukung oleh kemampuanyang dibutuhkan platform data untukenterprise — spanning Governance, Security and Operations.
What Hadoop is Not !
Hadoop tidak cocok sebagai penggantidatabase
Map Reduce tidak selalu menjadialgoritma terbaik
Bukan tempat yang pas untuk belajarJava
Hadoop cluster bukan tempat belajarLinux network administration
Bukan tempat belajar memahami pesanerror jaringan
http://wiki.apache.org/hadoop/HadoopIsNot