Makalah Apache Hadoop




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
Hasil gambar untuk kegunaan 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 2.0.jpgArsitektur Hadoop











Framework Hadoop terdiri atas empat modul atau komponen utama, yaitu :
1.      Hadoop Distributed File System (HDFS), yaitu sebuah system file yang terdistribusi.
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.
1.png










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.
Arsitektur HDFS.pngIsi 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.
https://2.bp.blogspot.com/-y7xkdjAF2oE/Vuko-Sd35jI/AAAAAAAAAME/LKQ79Moq8zwfMFwdzcTr8-friJ97c5NVQ/s1600/MapReduce.png





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.
yarn_architecture.gif












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
3.      Amazon Web Service
4.      Hortonworks
5.      MapR
6.      Microsoft HDInsight
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
2.6.1        Kelebihan 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 :
·        Hadoop 2.7.1
·        Java – Jdk 1.7
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)





GUI
Step 4 – namenode GUI, resource manager GUI
Resource
manager GUI address – http://localhost:8088





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


0 Response to "Makalah Apache Hadoop"

Post a Comment