Makalah Apache Hadoop
Untuk memenuhi tugas mata kuliah Big Data
dibina oleh:
Nurhayati, P.hD
Disusun Oleh :
1. Fajar Nugraha Wahyu 11140910000013
2. Alfat Nursyahban 11140910000027
3. Yunita Riska Andayani 11140910000066
UNIVERSITAS
ISLAM NEGERI SYARIF HIDAYATULLAH JAKARTA
FAKULTAS
SAINS DAN TEKNOLOGI
JURUSAN
TEKNIK INFORMATIKA
MARET 2017
Kata
Pengantar
Segala puji bagi Allah SWT yang
telah memberikan nikmat serta hidayah-Nya terutama nikmat kesempatan dan
kesehatan sehingga kami dapat menyelesaikan makalah mata kuliah “Big Data”. Kemudian
shalawat beserta salam kita sampaikan kepada Nabi kita Muhammad SAW
yang telah memberikan pedoman hidup yakni Al-qur’an dan
sunnah untuk keselamatan umat di dunia.
Makalah ini merupakan salah satu
tugas presentasi mata kuliah Big Data di program studi Teknik
Informatika, Fakultas Sains dan Teknologi Universitas Islam Negeri Syarif
Hidayatullah. Kami mengucapkan terima kasih kepada Ibu Nurhayati, P.hD selaku dosen pembimbing mata kuliah Big Data dan kepada
segenap pihak yang telah memberikan bimbingan serta arahan selama penulisan
makalah ini.
Kami menyadari bahwa banyak
terdapat kekurangan-kekurangan dalam penulisan makalah ini, maka dari itu
kami mengharapkan kritik dan saran yang konstruktif dari para pembaca demi
kesempurnaan makalah ini.
Ciputat, Maret 2017
Tim Penulis
DAFTAR
ISI
Kata Pengantar …………………………………………………………………………..
2
Daftar Isi ……………………………………………………………………………...…
3
BAB I Pendahuluan
1.1
Latar Belakang ………………………………………………………… 4
1.2
Rumusan Masalah …………………………….……………………….. 4
1.3
Tujuan Penulisan ………………………………………………………. 4
BAB II Pembahasan
2.1
Sejarah dan Pengertian Hadoop ……....……………………………….. 5
2.1.1
Sejarah …………………..…………………..……………..... 5
2.1.2
Pengertian ……………………….…………………………... 5
2.2
Arsitektur Hadoop
……………………………………………………... 6
2.3
Cara Kerja dari Setiap Hadoop
............................................................... 7
2.3.1
Hadoop Distributed File System (HDFS) ….……………....... 7
2.3.2
Hadoop MapReduce …….………………………………...…. 8
2.3.3
Hadoop YARN …………………………………...………….. 9
2.4
Vendor Hadoop yang Ada di
Pasaran ………………………………… 10
2.5
Manfaat dari
Penggunaan Hadoop dalam Big Data ……...…………... 11
2.6
Kelebihan dan Kekurangan Hadoop
………………………………… 12
2.7
Implementasi dari
Penggunaan Hadoop ………………………..……. 12
2.8
Cara Menginstall Hadoop…………………………………….………. 12
BAB III Penutup
3.1
Kesimpulan ……....…………………………………………….……..
18
3.2
Saran ………………………………………………………….……… 18
Pertanyaan dan Jawaban …………………………………………………………....… 19
Daftar Pustaka ………………………………………………………………………… 21
BAB
I
PENDAHULUAN
1.1
Latar
Belakang
Big Data
adalah istilah yang menggambarkan volume data yang besar, baik data yang
terstruktur maupun data yang tidak terstruktur. Big Data telah digunakan dalam banyak bisnis.
Tidak hanya besar data yang menjadi poin utama tetapi apa yang harus dilakukan
organisasi dengan data tersebut. Big Data dapat dianalisis untuk wawasan yang
mengarah pada pengambilan keputusan dan strategi bisnis yang lebih baik.
Salah
satu implementasi dari Big Data yang cukup terkenal adalah Hadoop
atau nama resminya Apache Hadoop.
Hadoop adalah teknologi yang dibuat dari sebuah artikel atau paper. Paper ini
di bawakan oleh Google untuk menggambarkan Big Data yang mereka gunakan untuk
menampung data mereka yang sangat besar. Jadi, Google menginspirasi lahirnya
Hadoop. Bedanya Big Data Google tidak bersifat open source sementara Hadoop
open source. Banyak
proyek yang saat ini menggunakan Apache Hadoop untuk melakukan komputasi Big
Data. Dilihat dari sifat sebuah data, Hadoop juga cocok untuk data satu kali
tulis namun sering dibaca seperti melakukan data mining pada web log.
1.2
Rumusan
Masalah
Permasalahan yang akan dibahas
adalah :
1.
Apa yang dimaksud dengan Apache
Hadoop.
2.
Bagaimana cara meng-install dan cara kerja Apache Hadoop.
3.
Manfaat Apache Hadoop pada Big
Data.
4.
Kelebihan dan kekurangan
Apache Hadoop.
1.3
Tujuan
Penulisan
Tujuan dari penulisan tugas ini
adalah :
1.
Memahami Apache Hadoop.
2.
Mempelajari bagaimana cara meng-install dan cara kerja Apache Hadoop.
3.
Mengetahui manfaat Apache
Hadoop pada Big Data.
4.
Mengetahui kelebihan dan
kekurangan Apache Hadoop.
BAB
II
PEMBAHASAN
2.1 Sejarah dan Pengertian Hadoop
2.1.1
Sejarah Hadoop
Asal
mula hadoop muncul karena terinspirasi dari makalah tentang Google MapReduce
dan Google File System (GFS) yang ditulis oleh ilmuwan dari Google, Jeffrey Dean
dan Sanjay Ghemawat pada tahun 2003. Proses development dimulai pada saat proyek
Apache Nutch, yang kemudian baru dipindahkan menjadi sub-proyek hadoop pada
tahun 2006. Penamaan menjadi hadoop adalah diberikan oleh Doug Cutting,
yaitu berdasarkan nama dari mainan gajah anaknya.
Hadoop
sejak tanggal 23 Januari 2008
telah menjadi proyek tingkat atas di lingkungan Apache Software Foundation dan
dikembangkan secara terbuka oleh komunitas kontributor secara global. Pengguna
Hadoop adalah, termasuk Facebook, a9.com, AOL, Baidu, IBM, ImageShack, dan
Yahoo. Hadoop tersedia bebas menyandang lisensi Apache License 2.0.
2.1.2
Pengertian Hadoop
Hadoop atau Apache Hadoop
adalah software bebas dan open source, yang ditulis dalam kerangka bahasa
pemrograman Java untuk dijalankan secara terdistribusi dan skalabel. Ia
dibangun berdasarkan algoritma popular MapReduce dari Google Inc, berikut
sistem berkas yang disarankan Google (GFS = Google File System), yang memungkinkan
menjalankan tugas komputasi intensif dalam mengolah data jumlah besar di
komputer cluster dengan hardware komoditas.
Hadoop
bisa dijalankan disatu komputer saja (single node) ataupun dalam cluster yang
berisi banyak komputer (multi node). Single node biasanya untuk development
atau training saja. Hadoop memerlukan Java untuk bisa berjalan. Untuk proses
instalasinya juga cukup sederhana. Setelah file core Hadoop di download disitu
ada petunjuk menjalankannya. Selanjutnya bisa dipilih mana saja komponen lain
yang dibutuhkan.
2.2 Arsitektur Hadoop
Framework
Hadoop terdiri atas empat
modul atau komponen utama, yaitu :
2. Hadoop MapReduce, yaitu sebuah model programming/algoritma untuk
pengolahan data skala besar dengan komputasi secara terdistribusi.
3. Hadoop YARN, yaitu sebuah platform resource management yang
bertanggung jawab untuk mengelola resources dalam clusters dan scheduling.
4. Hadoop Common, yaitu berisi
libraries dan utilities yang dibutuhkan oleh modul Hadoop lainnya.
Semenjak tahun 2008 framework hadoop bukan
hanya empat modul utama tersebut namun merupakan kumpulan modul open source
seperti Hive, Pig, Oozie, Zookeeper, Flume Sqoop, Mahout, Hbase, Ambari, Spark,
dsb.
1.
Hadoop Hive, yaitu
Hadoop Hive dilengkapi dengan fungsi Data-Warehouse, yaitu
bahasa query HiveQL dan indeks. HiveQL adalah bahasa query berbasis SQL dan
memungkinkan pengembang untuk menggunakan sintaks seperti SQL.
2.
Hadoop Pig, yaitu Hadoop Pig dapat digunakan sebagai bahasa pemrograman high-level
untuk menulis program pada Hadoop MapReduce.
3.
Hadoop Base, yaitu
database
sederhana, dan skalabel untuk mengelola data dengan jumlah yang sangat besar
dalam cluster Hadoop. Struktur
data ini cocok untuk data yang jarang berubah, tapi sangat sering ditambahkan.
Menggunakan HBase dapat dikelola miliaran baris data secara efisien.
Sekelompok modul dalam arsitektur hadoop
kadang di sebut juga sebagai Ekosistem Hadoop.
2.3 Cara Kerja dari Setiap Hadoop
2.3.1
Hadoop Distributed File System (HDFS)
Hadoop
Distributed File System adalah sebuah
sistem berkas terdistribusi dengan high-availability yang dapat menyimpan data
pada mesin komoditas, digunakan untuk menyediakan bandwidth sangat tinggi yang
di agregasi ke semua cluster (node). Berkas dibagi menjadi blok data dengan
panjang yang baku dan didistribusikan secara redundan (berlebihan) pada simpul
(node) yang berpartisipasi.
Sebuah
kluster HDFS terdiri dari NameNode, yang mengelola metadata dari
kluster, dan DataNode yang menyimpan data/file. File dan direktori
diwakili pada NameNode oleh inode. Inode menyimpan atribut seperti permission,
modifikasi dan waktu akses, atau kuota namespace dan diskspace.
Isi
file dibagi menjadi blok-blok file (biasanya
128 MB), dan setiap blok file tersebut direplikasi di beberapa DataNodes. Blok
file disimpan pada sistem file lokal dari DataNode. Namenode aktif memonitor
jumlah salinan/replika blok file. Ketika ada salinan blok file yang hilang
karena kerusakan pada DataNode, NameNode akan mereplikasi kembali blok file
tersebut ke datanode lainnya yang berjalan baik. NameNode mengelola struktur
namespace dan memetakan blok file pada datanode.
Cara kerja Hadoop Distributed
File System
2.3.2
Hadoop
MapReduce
MapReduce bertugas membagi data yang besar
ke dalam potongan lebih kecil dan mengatur mereka kedalam bentuk tupel untuk
pemrosesan paralel. Tupel adalah kombinasi antara key dan value-nya,
dapat disimbolkan dengan notasi : "(k1, v1)". Dengan
pemrosesan bersifat paralel tersebut, tentunya akan meningkatkan kecepatan dan
keandalan komputasi pada sistem klustering.
MapReduce
terdiri atas tiga tahap, yaitu tahap map,
shuffle, dan terakhir reduce. Shuffle dan reduce digabungkan
kedalam satu tahap saja yaitu tahap reduce.
1.
Map berfungsi memproses
data inputan yang umumnya berupa file yang tersimpan dalan HDFS, inputan
tersebut kemudian diubah menjadi tuple yaitu pasangan antara key dan value-nya.
2.
Tahap reduce, memproses
data inputan dari hasil proses map, yang kemudian dilakukan tahap shuffle dan
reduce yang hasil data set baru-nya disimpan di HDFS kembali.
Cara kerja
Hadoop MapReduce
2.3.3
Hadoop
YARN
Hadoop YARN adalah sebuah
platform manajemen sumber daya yang bertanggung jawab atas pengelolaan sumber
daya komputasi dalam sebuah cluster dan digunakan untuk penjadwalan aplikasi
pengguna.
Tujuan awal YARN adalah
untuk memisahkan dua tanggung jawab utama dari Job Tracker atau Task Tracker menjadi beberapa
entitas yang terpisah.
·
Global
Resource Manager
di node master, yang berfungsi mengatur semua resource
yang digunakan aplikasi dalam sistem.
·
Application Master di
setiap aplikasi, yang berfungsi untuk negosiasi resource dengan Resource Manager dan kemudian
bekerja sama dengan Node Manager
untuk mengeksekusi dan memonitor tasks.
·
Node Manager di
Agen-Framework setiap node slave, yang bertanggung jawab terhadap Container,
dengan memantau penggunaan resource/sumber daya dari container (cpu, memori, disk,
jaringan) dan melaporkannya pada Resource Manager.
·
Container di
setiap aplikasi yang jalan di Node Manager,
sebagai wadah penyimpanan data/file.
Cara kerja Hadoop YARN
2.4 Vendor Hadoop yang Ada di
Pasaran
Tentu
kurang lengkap rasanya jika kita tidak menyertakan informasi tentang vendor
hadoop yang beredar di pasaran saat ini. Dengan melihat vendor-vendor besar
seperti IBM, Microsoft, Amazon yang ikut bermain di dalam menyediakan solusi
Big data dengan Hadoop, dapat kita simpulkan bahwa solusi big data dengan
hadoop bisa jadi hal yang sangat menjanjikan di masa yang akan datang.
Berikut ini Top 10 Vendor
yang menyediakan solusi Big Data dengan hadoop, yang dipaparkan oleh "Bernard
Marr" pada artikel di situsnya, yaitu :
1. IBM
2. Cloudera
4. Hortonworks
5. MapR
10. Pivotal
HD
2.5 Manfaat dari Penggunaan Hadoop
dalam Big Data
Big data
memiliki 3 tantangan utama sehingga Hadoop sangat dibutuhkan, yaitu karena
:
1.
Volume,
keperluan menyimpan dan mengelola data dalam jumlah yang sangat besar, dan data
tersebut selalu tambah besar setiap saat.
2.
Velocity,
begitu cepat data yang muncul dan keperluan untuk bisa mengakses data besar
tersebut dengan cepat.
3.
Variety,
semakin bervariasinya data saat ini sehingga dengan teknologi relational database
(RDBMS) saat ini sudah tidak bisa ditangani lagi.
Hadoop optimal digunakan untuk menangani
data dalam jumlah besar baik data Structured, Semi-structured,
maupun Unstructured. Hadoop mereplikasi data di beberapa komputer
(Klustering), sehingga jika salah satu komputer mati/bermasalah maka data dapat diproses
dari salah satu komputer lainnya yang masih hidup.
Proses Hadoop adalah berupa operasi batch
menangani sejumlah data yang sangat besar, sehingga waktu respon tidak
serta-merta. Mengenai pemrosesan, jika dihubungkan dengan solusi Relational
Database System (RDBMS), Hadoop memiliki limitasi
sebagai berikut :
1.
Tidak cocok untuk OLTP (Online
Transaction Processing), di mana data dapat diakses secara random ke Relational Database.
2.
Tidak cocok untuk OLAP (Online
Analytic Processing).
3.
Tidak cocok untuk DSS (Decission
Support System).
4.
Proses update tidak bisa
untuk dilakukan (seperti pada hadoop 2.2).
Berdasarkan beberapa limitasi tersebut, untuk
saat ini dapat disimpulkan Hadoop
cocok untuk menangani Big Data, menjadi pelengkap OLTP, OLAP,dan DSS, jadi Hadoop tidak untuk
menggantikan RDBMS. Namun
bisa jadi suatu saat Hadoop
bisa lepas dari limitasi tersebut.
2.6 Kelebihan dan Kekurangan
Hadoop
1.
Hadoop merupakan software
bebas dan open source.
2.
Hadoop dapat
menampung data dengan jumlah yang sangat besar.
2.6.2
Kekurangan Hadoop
1.
Map reduce hanya bisa berjalan
secara serial untuk mengolah data. Artinya tidak bisa dilakukan pemrosesan data
secara paralel
2.
Map Reduce hanya bisa
berjalan dalam batch atau secara periodik dan tidak bisa terus menerus secara
realtime. Hal ini membuat Map Reduce tidak bisa mengolah data dalam bentuk
streaming tanpa henti seperti misalnya tweet dari twitter.
2.7 Implementasi dari Penggunaan
Hadoop
Penggunaan Hadoop saat ini
sudah semakin luas, diantaranya adalah :
·
Yahoo
Terdiri dari 24.000 server di
17 cluster. Lebih dari 10 petabytes data user. Mengerjakan ratusan ribu jobs
tiap bulannya. Dan digunakan untuk news, search dan mail.
·
New York Times
Menggunakan Hadoop untuk
mengkonversi artikel NYTimes menjadi pdf dari tahun 1851 sampai dengan 1922.
Berjalan di atas 100 server Amazon EC2 selama 24 jam. Input data sebesar 4TB
dan output 1,5TB.
·
Facebook
Digunakan untuk data mining
dan data werehousing, user data analysis. Dan dijalankan di 600 server.
2.8 Cara Menginstall Hadoop
Sebelum memulai isntalasi pastikan anda memiliki
software ini :
Berikut ini adalah step-stepnya
Configuration
v Step 1 – Windows path configuration
Set HADOOP_HOME
path in enviornment variable for windows
Right click on my computer > properties > advanced system
settings > advance tab > environment variables > click on new
Set hadoop bin
directory path
Find path variable in system variable > click on edit > at
the end insert ‘; (semicolon)’ and paste path upto hadoop bin directory in my
case it’s a
v
Step 2 – Hadoop configuration
Edit hadoop-2.7.1/etc/hadoop/core-site.xml,
paste the following lines and save it.
Edit hadoop-2.7.1/etc/hadoop/mapred-site.xml, paste the following lines
and save it.
Edit hadoop-2.7.1/etc/hadoop/hdfs-site.xml, paste the following lines
and save it, please create data folder somewhere and in my case i have created
it in my HADOOP_HOME directory
Edit hadoop-2.7.1/etc/hadoop/yarn-site.xml, paste the following lines
and save it.
Edit hadoop-2.7.1/etc/hadoop/hadoop-env.cmd, comment existing
%JAVA_HOME% using @rem at start, give proper path and save it. (my
jdk is in program files to avoid spaces i gave PROGRA~1)
Demo
v Step 3 –
Start everything
Very Important
step
Before starting
everything you need to add some [dot].dll and [dot].exe files of windows please
download bin folder from my github repository -sardetushar_gitrepo_download
bin folder – this
contains .dll and .exe file (winutils.exe for hadoop 2.7.1)
Now delete you existing
bin folder and replace with new one (downloaded from my repo)
Open cmd and type ‘hdfs
namenode -format’ – after execution you will see below logs
Open cmd and point to sbin directory and type ‘start-all.cmd’
It
will start following process
Namenode
Datanode
YARN
resourcemanager
YARN nodemanager
JPS – to see services are running
open cmd and type – jps (for jps make sure your java path is set properly)
open cmd and type – jps (for jps make sure your java path is set properly)
GUI
Namenode GUI address – http://localhost:50070
BAB
III
PENUTUP
3.1 Kesimpulan
Kesimpulannya yaitu:
1.
Hadoop merupakan framework yang digunakan sebagai solusi
untuk Big Data dan bersifat open source.
2.
Hadoop HDFS adalah sistem
file terdistribusi yang bersifat fault-tolerant dan mendukung untuk mengolah
data set yang besar (Big Data).
3.
Hadoop MapReduce adalah
model komputasi berbasis Java pada sistem terdistribusi dalam rangka mendukung
aplikasi Big Data. Diberi nama MapReduce dikarenakan terdiri atas dua proses
utama yaitu map dan reduce.
4.
Hadoop YARN adalah
platform untuk resource-management yang muncul untuk mengatasi limitasi
MapReduce pada arsitektur Hadoop 1.0.
3.2 Saran
Hadoop memiliki
beberapa kelemahan seperti yang telah dijabarkan di atas oleh penulis. Namun
kelemahan-kelemahan ini dapat
ditutupi dengan teknologi lain yang berada diatas Hadoop sehingga Hadoop dan
tambahan teknologi ini menjadi satu kesatuan yang masih merupakan solusi Big
Data. Contoh dari teknologi
yang membantu menutup kelemahan Hadoop adalah Apache
Storm dan Apache Spark.
Pertanyaan dan Jawaban
Pertanyaan
1.
Apa alternatif
dari Hadoop?
2.
Apa keuntungan
yangg kita dapatkan jika memakai Hadoop?
3.
Mengapa Hadoop
penting?
4.
Bagaimana cara kerja
Hadoop?
Jawaban
1.
Spark
Spark
memiliki memori penyimpanan data yang besar, spark juga menganalisis data yang
disimpan di memory big data, spark memerlukan waktu yang relatif singkat untuk
menganalisis data.
2.
Kampanye, promosi,
dan media iklan lainnya dapat dioptimalkan berdasarkan data yang dikumpulkan
dari perencanaan media. Perencanaan produksi dapat dilakukan dengan data yang
disediakan oleh pelanggan, yang berkaitan dengan preferensi mereka dan persepsi
produk.
3.
-Kemampuan untuk
menyimpan dan memproses jumlah besar setiap jenis data, cepat. Dengan volume
data dan varietas terus meningkat, terutama dari media sosial dan Internet of
Things (IOT), itu adalah pertimbangan utama.
-Daya
komputasi, yaitu model komputasi terdistribusi Hadoop ini memproses data besar
dengan cepat. Node komputasi yang lebih Anda gunakan, kekuatan pemrosesan yang
Anda miliki.
-Toleransi
kesalahan yaitu pengolahan data aplikasi dilindungi terhadap kegagalan
hardware. Jika sebuah simpul turun, pekerjaan secara otomatis diarahkan ke node
lain untuk memastikan komputasi terdistribusi tidak gagal. Beberapa salinan
dari semua data disimpan automatically.
-Flexibility.
Tidak seperti database relasional tradisional, Anda tidak perlu data yang
preprocess sebelum menyimpannya. Anda dapat menyimpan data sebanyak yang Anda
inginkan dan memutuskan bagaimana menggunakannya nanti. Itu termasuk data yang
tidak terstruktur seperti teks, gambar dan video.
-Biaya
rendah. Kerangka open source gratis dan menggunakan hardware komoditas untuk
menyimpan sejumlah besar data.
-Skalabilitas.
Anda dapat dengan mudah tumbuh sistem anda untuk menangani lebih banyak data
hanya dengan menambahkan node. Sedikit administrasi diperlukan.
4.
-Hadoop Umum -
perpustakaan dan utilitas yang digunakan oleh modul Hadoop lainnya.
-Hadoop
Distributed File System (HDFS) - sistem scalable berbasis Java yang menyimpan
data di beberapa mesin tanpa organisasi sebelumnya.
-Hadopo YARN –
(Yet Another Resource Negotiator) menyediakan manajemen sumber daya untuk
proses yang berjalan pada Hadoop.
-Hadoop MapReduce
- kerangka kerja perangkat lunak pemrosesan paralel. Hal ini terdiri dari dua
langkah. Peta langkah adalah node master yang mengambil input dan partisi
mereka ke dalam submasalah yang lebih kecil dan kemudian mendistribusikan
mereka ke kelenjar pekerja. Setelah langkah peta telah terjadi, node master
mengambil jawaban atas semua subproblem dan menggabungkan mereka untuk
menghasilkan output
Daftar Pustaka
No comments:
Post a Comment