36
ANALISA PENGARUH BLOCK SIZE PADA HDFS TERHADAP KECEPATAN PROSES MAPREDUCE Priagung Khusumanegara 1006661084 Seminar 2014

Analisa pengaruh block size pada hdfs terhadap kecepatan

Embed Size (px)

Citation preview

Page 1: Analisa pengaruh block size pada hdfs terhadap kecepatan

ANALISA PENGARUH BLOCK SIZE PADA HDFS TERHADAP KECEPATAN PROSES MAPREDUCEPriagung Khusumanegara1006661084Seminar 2014

Page 2: Analisa pengaruh block size pada hdfs terhadap kecepatan

LATAR BELAKANGHadoop merupakan framework software berbasis Java yang digunakan untuk mengolah data dalam ukuran yang besar dan jumlah yang banyak secara terdistribusi. Hadoop menggunakan teknologi yang disebut mapreduce agar dapat mengolah data secara paralel dan terdistribusi. Hadoop memiliki file system sendiri yang disebut dengan HDFS. Data yang tersimpan pada HDFS berupa potongan-potongan data yang disebut dengan block size. Besar block size pada HDFS tersebut dapat disesuaikan dengan keinginan user. Pengaturan besar ukuran block tersebut diharapkan dapat memberikan pengaruh pada proses mapreduce pada hadoop.

Page 3: Analisa pengaruh block size pada hdfs terhadap kecepatan

TUJUANTujuan dari seminar ini adalah untuk mengetahui dan menganalisa apakah dengan mengubah besar block size data pada HDFS dapat mempengaruhi kecepatan proses mapreduce pada hadoop.

Page 4: Analisa pengaruh block size pada hdfs terhadap kecepatan

HADOOP FRAMEWORK

Page 5: Analisa pengaruh block size pada hdfs terhadap kecepatan

PENGERTIAN HADOOPHadoop merupakan framework software berbasis Java dan opensource yang

berfungsi untuk mengolah data yang memiliki ukuran yang besar secara

terdistribusi dan berjalan diatas cluster yang terdiri dari beberapa komputer

yang saling terhubung (parallel computing).

Page 6: Analisa pengaruh block size pada hdfs terhadap kecepatan

ARSITEKTUR HADOOPInti dari hadoop adalah terdiri dari:

o HDFS (Hadoop Distribute File System) Untuk data yang terdistribusio MapReduce Framework dari aplikasi yang terdistribusi

Gambar 1: Bagian inti hadoop (a) komponen HDFS (b) komponen mapreduce

Referensi Gambar : JeongJin Cheon, Tae-Young Choe. Distributed Processing of Snort Alert Log using Hadoop. International Journal of Engineering and Technology (IJET), Gyeongbuk Korea, 2013.

Page 7: Analisa pengaruh block size pada hdfs terhadap kecepatan

KELEBIHAN HADOOP Mudah untuk di akses

Hadoop dapat berjalan pada jumlah cluster yang besar ataupun pada layanan komputasi awan seperti Amazon Elastic Compute Cloud (EC2).

StabilHadoop sangat baik dalam menangani sebuah masalah yang muncul ketika sedang memproses sebuah pekerjaan, hal ini dikarenakan dari awalnya hadoop memang ditunjukan untuk di jalankan pada komuditas perangkat keras.

Memiliki skala yang besar Hadoop memiliki jangkauan skala yang besar, sehingga dapat menghandle ketika adanya pertambahan jumlah node dalam sebuah cluster.

Mudah digunakanHadoop sangat mudah dijalankan dan digunakan pada single node maupun multi node.

Page 8: Analisa pengaruh block size pada hdfs terhadap kecepatan

HDFS (HADOOP DISTRIBUTED FILE SYSTEM)HDFS adalah file system berbasis Java yang terdistribusi pada hadoop. Sebagai file system terdistribusi, HDFS berguna untuk menangani data dalam jumlah besar yang disimpan dan tersebar didalam banyak komputer yang berhubungan yang biasa disebut dengan cluster.

Page 9: Analisa pengaruh block size pada hdfs terhadap kecepatan

MODEL DATA PADA HDFSHDFS menyimpan suatu data dengan cara membelahnya menjadi potongan-potongan data yang berukuran 64 MB (secara default), dan potongan-potongan data tersebut kemudian disimpan tersebar dalam setiap node yang membentuk clusternya. Potongan-potongan data tersebut didalam HDFS disebut block, dan ukurannya tidak terpaku harus 64 MB, dimana ukuran block tersebut dapat disesuaikan dengan keinginan user.

Page 10: Analisa pengaruh block size pada hdfs terhadap kecepatan

KOMPONEN HDFSHDFS memiliki 3 komponen utama berupa :1. Namenode2. Datanode3. Secondary Namenode

Gambar 2 : Komponen HDFS

Referensi Gambar : Chuck Lam. Hadoop In Action. Mainning Publications Co, Stamford, 2011.

Page 11: Analisa pengaruh block size pada hdfs terhadap kecepatan

NamenodeNamenode terdapat pada komputer yang bertindak sebagai master yang mengkoordinasi datanode untuk melakukan beberapa tugas (jobs). Namenode ini adalah pusat dari sistem berkas pada HDFS.

Gambar 2 : Namenode pada HDFS

Namenode membuat sistem direktori dari semua file yang ada di dalam sistem dan dapat mengetahui bagaimana file tersebut di pecah-pecah menjadi beberapa blok-blok data serta mengetahui nodes yang menyimpan blok-blok data tersebut.

Page 12: Analisa pengaruh block size pada hdfs terhadap kecepatan

Datanode

Datanode adalah salah satu komponen dari HDFS yang berfungsi untuk menyimpan dan mengambil kembali data pada slave node pada setiap permintaan yang dilakukan oleh namenode. Datanode berada pada setiap slave node pada sebuah cluster yang telah dibuat. Selama sistem berjalan, datanode terhubung dengan namenode dan melakukan sebuah handshake. Handshake ini bertujuan untuk melakukan verifikasi terhadap namespace ID dan juga software version pada sebuah datanode.

Page 13: Analisa pengaruh block size pada hdfs terhadap kecepatan

Secondary Namenode

Secondary namenode adalah daemon yang berfungsi melakukan monitoring keadaan dari cluster HDFS. Sama seperti namenode, pada setiap cluster yang ada terdapat satu secondary namenode, yang berada pada master node. Secondary namenode ini juga berfungsi untuk membantu dalam meminimalkan down time dan hilangnya data yang terjadi pada HDFS. jika terjadi kegagalan yang dilakukan oleh namenode maka dibutuhkan konfigurasi yang dilakukan oleh user untuk menjadikan secondary namenode sebagai namenode yang utama.

Page 14: Analisa pengaruh block size pada hdfs terhadap kecepatan

KELEBIHAN HDFSKelebihan dari HDFS adalah adanya kerjasama antara jobtracker dan tasktracker. Jobtracker mengurangi pekerjaan yang dilakukan oleh tasktracker dengan memberitahu lokasi data dan memberikan penjadwalan pekerjaan yang harus dilakukan. Hal ini akan mengurangi intensitas lintas data yang berjalan pada jaringan dan mencegah transfer data yang tidak perlu, sehingga dapat berdampak signifikan terhadap spent time dalam menyelesaikan suatu pekerjaan.

Page 15: Analisa pengaruh block size pada hdfs terhadap kecepatan

KEKURANGAN HDFSKekurangan dari HDFS ini adalah master node masih bersifat Single Point of

Failure sehingga apabila master node mati maka data akan hilang. Salah satu cara untuk mengantisipasi masalah tersebut adalah dengan membuat cloning dari master node pada server yang berbeda, sehingga apabila master node utama mengalami masalah, maka langsung dapat digantikan dengan cloning lainnya.

Page 16: Analisa pengaruh block size pada hdfs terhadap kecepatan

MAP REDUCEMapReduce adalah framework software yang diperkenalkan oleh google dan digunakan untuk melakukan suatu pekerjaan dari komputasi terdistribusi yang dijalankan pada sebuah cluster. Map Reduce ini terdiri dari konsep fungsi map dan reduce yang biasa digunakan pada functional programming.

Proses “Map”: namenode menerima input data, kemudian data tersebut dipecah-pecah menjadi beberapa block yang kemudian didistribusikan kepada datanode. Datanode ini kemudian akan melakukan pemrosesan blok-blok yang diterimanya untuk kemudian apabila proses telah selesai, maka akan dikembalikan ke namenode.

Proses “Reduce”: namenode menerima hasil dari pemrosesan pada setiap block dari masing-masing datanode, kemudian menggabungkan semua blok-blok yang telah di proses menjadi satu kesatuan untuk memperoleh kesimpulan dari hasil pemrosesan.

Page 17: Analisa pengaruh block size pada hdfs terhadap kecepatan

KEUNTUNGAN MAPREDUCEKeuntungan dari mapreduce ini adalah proses map dan reduce yang dapat diterapkan secara terdistribusi. Pada setiap proses mapping dan proses reducing bersifat independent sehingga proses dapat dijalankan secara paralel pada waktu yang sama, selama output dari proses mapping mengirimkan key value yang sesuai dengan proses reducingnya.

Page 18: Analisa pengaruh block size pada hdfs terhadap kecepatan

KOMPONEN MAPREDUCETerdapat 2 komponen utama mamreduce pada hadoop yaitu :1. Jobtracker2. Tasktracker

Page 19: Analisa pengaruh block size pada hdfs terhadap kecepatan

JobTracker

Jobtracker adalah sebuah daemon yang berfungsi untuk memecah permintaan yang diberikan ke HDFS menjadi beberapa pekerjaan yang lebih kecil berdasarkan jumlah slave yang ada. Setelah permintaan tersebut dipecah-pecah menjadi beberapa pekerjaan (jobs), jobtracker ini akan memberikan pekerjaan-pekerjaan tersebut kepada setiap slave node yang terdapat di dalam cluster tersebut.

Page 20: Analisa pengaruh block size pada hdfs terhadap kecepatan

Gambar 4: Keja jobtracker pada hadoop

Referensi Gambar : Interaction between the JobTracker, TaskTracker and the Scheduler @ homepage, http://www.thecloudavenue.com/2011/11/interaction-between-jobtracker.html

Page 21: Analisa pengaruh block size pada hdfs terhadap kecepatan

Tasktracker

Tasktracker adalah sebuah daemon yang berfungsi untuk menerima pekerjaan yang diberikan oleh jobtracker dan kemudian menjalankan pekerjaan tersebut ke dalam JVM yang terpisah.

Gambar 5 : Kerja tasktracker pada setiap node

Referensi Gambar : Chuck Lam. Hadoop In Action. Mainning Publications Co, Stamford, 2011.

Page 22: Analisa pengaruh block size pada hdfs terhadap kecepatan

RANCANGAN

Page 23: Analisa pengaruh block size pada hdfs terhadap kecepatan

PENJELASAN RANCANGANPercobaan yang akan dilakukan adalah dengan merancang sebuah cluster yang terdiri dari 3 node yang terdapat pada VMWare Workstation 10 untuk menjalankan teknologi mapreduce pada hadoop secara paralel dan menjalankan program wordcount, serta bagaimana cara membagi file menjadi beberapa block pada HDFS dengan ukuran yang berbeda-beda pada setiap percobaan yang dilakukan.

Page 24: Analisa pengaruh block size pada hdfs terhadap kecepatan

SPESIFIKASI RANCANGAN Spesifikasi Host VM 1 VM 2 VM 3

Processor Intel ® Core ™ i7-2600 One Core

One Core

One Core

RAM 4.00 GB 1.00 GB

1.00 GB

1.00 GB

System Operation Linux Mint 13 CentOS CentOS CentOS

Tabel 1 : Spesifikasi Rancangan

Page 25: Analisa pengaruh block size pada hdfs terhadap kecepatan

RANCANGAN PERCOBAAN

Gambar 6 : Rancangan percobaan

Page 26: Analisa pengaruh block size pada hdfs terhadap kecepatan

HASIL PERCOBAAN & ANALISA

Page 27: Analisa pengaruh block size pada hdfs terhadap kecepatan

PERCOBAAN PERTAMA DENGAN UKURAN FILE 512 MB

Block Size (MB) CPU Time Spent (ms)

64 153530

128 141430

192 133350

256 131800

320 129060

384 1281800 64 128 192 256 320 384 448

115000

120000

125000

130000

135000

140000

145000

150000

155000

160000

153530

141430

133350131800

129060 128180

Effect of HDFS Block Size

Block Size (MB)

CPU

Tim

e (m

s)

Table 2: Hasil percobaan dengan ukuran file 512 MB Gambar 7 : Grafik efek dari HDFS block size pada ukuran file 512 MB

Page 28: Analisa pengaruh block size pada hdfs terhadap kecepatan

PERCOBAAN KEDUA DENGAN UKURAN FILE 1 GB

Block Size (MB) CPU Time Spent (ms)

64 281220

128 271790

192 249320

256 237850

320 234240

384 2312200 64 128 192 256 320 384 448

0

50000

100000

150000

200000

250000

300000 281220 271790249320

237850 234240 231220

Effect of HDFS Block Size

Block Size (MB)

CPU

Tim

e (m

s)

Table 3: Hasil percobaan dengan ukuran file 1 GB Gambar 8 : Grafik efek dari HDFS block size pada ukuran file 1 GB

Page 29: Analisa pengaruh block size pada hdfs terhadap kecepatan

PERCOBAAN KETIGA DENGAN UKURAN FILE 1.5 GB

Block Size (MB) CPU Time Spent (ms)

64 435760

128 434700

192 386760

256 368230

320 361270

384 3516500 64 128 192 256 320 384 448

0

50000

100000

150000

200000

250000

300000

350000

400000

450000

500000435760 434700

386760368230 361270 351650

Effect of HDFS Block Size

Block Size (MB)

CPU

Tim

e (m

s)

Table 4: Hasil percobaan dengan ukuran file 1.5 GBGambar 9 : Grafik efek dari HDFS block size pada ukuran file 1.5 GB

Page 30: Analisa pengaruh block size pada hdfs terhadap kecepatan

PERCOBAAN KEEMPAT DENGAN UKURAN FILE 2 GB

Block Size (MB) CPU Time Spent (ms)

64 616120

128 589520

192 584390

256 575130

320 567450

384 561580 0 50 100 150 200 250 300 350 400 450530000

540000

550000

560000

570000

580000

590000

600000

610000

620000

630000616120

589520584390

575130567450

561580

Effect of Block Size

Block Size (MB)

CPU

Tim

e (m

s)

Table 5: Hasil percobaan dengan ukuran file 2 GB Gambar 10 : Grafik efek dari HDFS block size pada ukuran file 2 GB

Page 31: Analisa pengaruh block size pada hdfs terhadap kecepatan

ANALISADari hasil percobaan yang dilakukan pada setiap file terlihat bahwa pengubahan parameter block size pada file tersebut dapat memberikan efek pada kecepatan proses mapreduce pada hadoop yaitu jika semakin besar block size maka kecepatan proses mapreduce semakin cepat. Jika kita memperbesar ukuran block maka file tersebut akan memiliki jumlah block

yang lebih sedikit, hal ini dapat dijelaskan sebagai berikut:

Page 32: Analisa pengaruh block size pada hdfs terhadap kecepatan

File 512 MB dengan ukuran block 64 MB

Pada Gambar 11 terlihat bahwa jika file dengan ukuran 512 MB dibagi menjadi beberapa block dengan ukuran masing-masing block 64 MB akan menghasilkan 6 block.

Gambar 11 : Ukuran block 64 MB pada file 512 MB

Page 33: Analisa pengaruh block size pada hdfs terhadap kecepatan

File 512 MB dengan ukuran block 128 MB:

Pada Gambar 12 terlihat bahwa jika file dengan ukuran 512 MB dibagi menjadi beberapa block dengan ukuran masing-masing block 64 MB akan menghasilkan 4 block. Jika jumlah block semakin sedikit, maka akan mengurangi ukuran metadata dari namenode sehingga mengurangi kerja dari namenode. Hal ini dapat menjadi pertimbangan penting untuk file system yang sangat besar. Selain itu dengan jumlah block yang lebih sedikit, hal ini akan memudahkan scheduler mapreduce dalam menjadwalkan tugas yang diberikan sehingga dapat mengurangi kerja dari scheduler mapreduce dan namenode.

Gambar 12 : Ukuran block 128 MB pada file 512 MB

Page 34: Analisa pengaruh block size pada hdfs terhadap kecepatan

KESIMPULANDari seluruh percobaan yang telah dilakukan dapat diambil kesimpulan bahwa: Block size pada HDFS akan mempengaruhi kecepatan proses mapreduce

pada hadoop pada saat menjalankan program wordcount. Jika kita memperbesar block size pada HDFS maka akan mempercepat proses mapreduce pada saat menjalankan program wordcount,

Jika memperbesar block size pada HDFS maka jumlah block pada HDFS akan menjadi berkurang sehingga menghasilkan jumlah metadata yang lebih sedikit, hal ini dapat mengurangi kerja dari namenode pada sebuah cluster dan spent time pada CPU pada saat melakukan proses mapreduce.

Jumlah block yang lebih sedikit pada HDFS akan memudahkan scheduler mapreduce dalam menjadwalkan tugas yang diberikan sehingga dapat mengurangi kerja dari scheduler mapreduce dan namenode.

Page 35: Analisa pengaruh block size pada hdfs terhadap kecepatan

REFERENSI Chuck Lam. Hadoop In Action. Mainning Publications Co, Stamford, 2011. Tom White. Hadoop: The Definitive Guide. O’Reilly, Scbastopol, California, 2009. Shv, Hairong, SRadia, Chansler. The Hadoop Distributed File System. Sunnyvale,

California USA, IEEE, 2010. Intel Corporation. Optimizing Java* and Apache Hadoop* for Intel® Architecture.

Intel Corporation, USA, 2013. Apache TM Hadoop @ homepage, http://hadoop.apache.org/. JeongJin Cheon, Tae-Young Choe. Distributed Processing of Snort Alert Log using

Hadoop. International Journal of Engineering and Technology (IJET), Gyeongbuk Korea, 2013.

Aditya B. Patel, Manashvi Birla, Ushma Nair. Addressing Big Data Problem Using Hadoop and Map Reduce. Nirma University International Conference On Engineering, 2012.

Page 36: Analisa pengaruh block size pada hdfs terhadap kecepatan

Tutorial Single Node Hadoop. http://www.michael-noll.com/tutorials/running-hadoop-on-ubuntu-linux-single-node-cluster/

Tutorial Multinode Hadoop. http://www.michael-noll.com/tutorials/running-hadoop-on-ubuntu-linux-multi-node-cluster/

Amit Anand. Configuration Parameters dfs.Block.Size. Hadoop, 2013. Garry Turkington. Hadoop Beginner's Guide. Packt Publishing, Birmingham,

2013. Dima May. Hadoop Distributed File System (HDFS) Overview.

coreservlets.com, 2012. Map Reduce.http://www.yalescientific.org/2012/03/hadapt-yale-startup/ Interaction between the JobTracker, TaskTracker and the Scheduler @

homepage, http://www.thecloudavenue.com/2011/11/interaction-between-jobtracker.html

Magang Industri--Meruvian.org Cloud Computing