Analisis Performansi Hadoop Cluster Multi Node pada Komputasi Dokumen Delis Permatasari 1) [email protected]Mohammad Dani, M.T. 2) [email protected]Mia Rosmiati, S.Si., M.T. 3) [email protected]1) 3) Program Studi Teknik Komputer Peminatan Teknik JaringanPoliteknik Telkom Bandung2) Teknik ElektroUniversitas Kebangsaan BandungABSTRAK Pengimplementasian sebuah aplikasi clustermerupakan salah satu cara dalam proses pendistribusian data, karena akan berdampak positif dalam peningkatan pros es kinerja dan pengembangan sistem untuk pe ngolahan data tersebut. Semakin berkembangny a dunia teknologi , diman a pertumbuha n da ta yang sangat cepat dan semakin lama semakin besar. Hal ini memungkinkan suatu strategi khusus untuk menyiasati cara pengolahan data yang besar dengan cepat, akurat dan efisien. Untuk mengatasi permasalahan diatas, Apache Hadoop menerapkan komputasi p aralel dengan menggunakan aplikasi terdistribusi, yang dirancang secara efisien mendisitribusikan sejumlah pekerjaan besar dalam mesin cluster. Apache Hadoop menggembangkan beberapa projectdiantaranya Hadoop Distribution File System(HDFS) dan MapReduce frameworkuntuk menyelesaikan pengolahan data.yang besar berbasis java dan open source. Aplikasi Hadoop juga dapat digunakan untuk menghitung pembobotan dokumen dan menganalisis proses yang sedang berjalan di sistem tersebut. Tujuan proyek akhir ini diharapkan dengan bertambahnya jumlah node dan perubahan parameter dapat meningkatkan kinerja cluster dal am menyelesaikan suatu proses. Kata Kunci:Hadoop, Cluster, MapReduce, HDFS, Komputasi Paralel 1.Pendahuluan 1.1 Latar Belakang Semakin berkembangnya dunia teknologi, dimana pertumbuhan data yang sangat cepat dan semakin lama semakin besar. Hal ini memungkinkan suatu strategi khusus untuk menyiasati cara pengolahan data yang besar dengan cepat, akurat dan efisien. Pada kenyataanya data yang berkembang di dalam digital-universe. Estimate data elektronik mencapai 0,18 zettabyte pada tahun 2006 dan akan diramalkan pada tahun 2006 dan akan diramalkan tumbuh sepuluh kali lipat mencapai 1,8 zettabyte pada tahun 2011 (White,2009). Tetapi infrastuktur dari sebuah media penyimpanan memiliki kendala terutama dalam kecepatan transfer, sehingga membutuhkan waktu yang cukup lama untuk membaca keseluruhan data. Adakalanya aplikasi yang dibuat membutuhkan ko mputer dengan sumber daya yang tinggi sebagai lingkungan yang tinggi seb aga i lingkun gan implementasi dan biasanya harga untuk komputer dengan sumber daya yang tinggu tidaklah murah, sedangkan untuk komputer dengan spesisfikasi yang tidak terlalu tinggi akan kurang reliable dalam menangani data yang begitu besar (Venner,2009). Dengan demikian, teknologi dalam skala besar yang berhubungan dengan peningkatan kinerja sistem benar-benar di butuhkan. Terinsipirasi oleh Google File System (GFS) dan MapReduce yang dikembangkan oleh Google, Maka Apache Hadoop menerapkan komputasi paralel dengan menggunakan aplikasi terdistribusi, yang dirancang secara efisien mendisitribusikan sejumlah pekerjaan besar dalam mesin cluster. Apache Hadoop mengembangkan beberapa project diantaranya Hadoop Distributed File System (HDFS) dan MapReduce Framework untuk menyelesaikan pe rma sa lah an dengan melibatkan data yang besar yang be rba sis ka n javadanopen source.Hadoop Cluster mempunyai kelebihan dari segi ekonomi karena tidak berbay ar dan dapat diimplementasikan pada perangkat keras dengan spesifikasi yang tidak terlalu tinggi. Berdasarkan pemaparan diatas, proyek akhir ini akan di rancang sistem hadoop cluster untuk melakukan perhitungan pembobotan dokumen sistem dan analasis proses yang sedang berjalan di sistem tersebut. Diharapkan dengan bertambahnya jumlah
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
1) 3)Program Studi Teknik Komputer Peminatan Teknik Jaringan Politeknik Telkom Bandung
2)Teknik Elektro Universitas Kebangsaan Bandung
ABSTRAK
Pengimplementasian sebuah aplikasi cluster merupakan salah satu cara dalam proses pendistribusian data,
karena akan berdampak positif dalam peningkatan proses kinerja dan pengembangan sistem untuk pengolahan datatersebut. Semakin berkembangnya dunia teknologi , dimana pertumbuhan data yang sangat cepat dan semakin lama
semakin besar. Hal ini memungkinkan suatu strategi khusus untuk menyiasati cara pengolahan data yang besar dengan
cepat, akurat dan efisien.
Untuk mengatasi permasalahan diatas, Apache Hadoop menerapkan komputasi paralel dengan
menggunakan aplikasi terdistribusi, yang dirancang secara efisien mendisitribusikan sejumlah pekerjaan besar dalam
mesin cluster. Apache Hadoop menggembangkan beberapa project diantaranya Hadoop Distribution File System
(HDFS) dan MapReduce framework untuk menyelesaikan pengolahan data.yang besar berbasis java dan open
source.
Aplikasi Hadoop juga dapat digunakan untuk menghitung pembobotan dokumen dan menganalisis proses yang
sedang berjalan di sistem tersebut. Tujuan proyek akhir ini diharapkan dengan bertambahnya jumlah node dan perubahan
parameter dapat meningkatkan kinerja cluster dalam menyelesaikan suatu proses.
Kata Kunci : Hadoop, Cluster, MapReduce, HDFS, Komputasi Paralel
1.
Pendahuluan
1.1 Latar Belakang
Semakin berkembangnya dunia teknologi, dimana
pertumbuhan data yang sangat cepat dan semakin
lama semakin besar. Hal ini memungkinkan suatu
strategi khusus untuk menyiasati cara pengolahan
data yang besar dengan cepat, akurat dan efisien.
Pada kenyataanya data yang berkembang di dalam
digital-universe. Estimate data elektronik mencapai
0,18 zettabyte pada tahun 2006 dan akan diramalkan
pada tahun 2006 dan akan diramalkan tumbuh
sepuluh kali lipat mencapai 1,8 zettabyte pada tahun
2011 (White,2009). Tetapi infrastuktur dari sebuahmedia penyimpanan memiliki kendala terutama
dalam kecepatan transfer, sehingga membutuhkan
waktu yang cukup lama untuk membaca keseluruhan
data.
Adakalanya aplikasi yang dibuat membutuhkan ko
mputer dengan sumber daya yang tinggi sebagai
lingkungan yang tinggi sebagai lingkungan
implementasi dan biasanya harga untuk komputer
dengan sumber daya yang tinggu tidaklah murah,
sedangkan untuk komputer dengan spesisfikasi yang
tidak terlalu tinggi akan kurang reliable dalam
menangani data yang begitu besar (Venner,2009).
Dengan demikian, teknologi dalam skala besar yang
berhubungan dengan peningkatan kinerja sistem
benar-benar di butuhkan.
Terinsipirasi oleh Google File System (GFS) dan
MapReduce yang dikembangkan oleh Google,
Maka Apache Hadoop menerapkan komputasi
paralel dengan menggunakan aplikasi terdistribusi,
yang dirancang secara efisien mendisitribusikan
sejumlah pekerjaan besar dalam mesin cluster.
Apache Hadoop mengembangkan beberapa project
diantaranya Hadoop Distributed File System (HDFS)
dan MapReduce Framework untuk menyelesaikan permasalahan dengan melibatkan data yang besar yang
berbasiskan java dan open source. Hadoop Cluster
mempunyai kelebihan dari segi ekonomi karena tidak
berbayar dan dapat diimplementasikan pada perangkat
keras dengan spesifikasi yang tidak terlalu tinggi.
Berdasarkan pemaparan diatas, proyek akhir ini akan
2.2.1 Hadoop Single NodeHadoop single node untuk sistem ini menggunakan 1mesin. Mesin tersebut didesain menjadi master tapi
tidak bekerja juga sebagai slave. Pada mesin singlenode semua proses dilakukan dalam 1 mesin. Hadoopterbagi dua layer yaitu layer HDFS yang menjalankannamenode dan datanode sedangkan layer MapReduceyang menjalankan Jobtracker dan Tasktracker. Padakedua layer ini sangat penting aktif yaitu Namenode dan Jobtracker, karena apabila dua bagian ada yangtidak jalan maka kerja HDFS dan MapReduce tidak bisa dijalankan.
Gambar 2.1
Hadoop Single Node
2.2.1 Hadoop Multi Node Haddop multi node menggunakan 2 mesin, 1 untuk
mesin cluster den 1 untuk mesin slave. Kedua mesintersebut dikonfigurasi berupa mesin 2 single. Nodeyang akan digabung menjadi satu mesin multi node
dimana satu mesin akan didesain menjadi master tapidapat bekerja juga menjadi slave, sednagkan mesinyang lain akan menjadi slave.
Gambar 2.2
Hadoop Multi Node
2.2 MapReduceMapReduce pertama kali dikenalkan
oleh Jeffrey Dean dan Sanjay Ghemawat dariGoogle,Inc. MapReduce adalah model pemogramanterdistribusi yang digunakan untuk melakukan pengolaha data digunakan pengolahan data besar(Ghemawat, 2004).
Model pemrograman MapReduce membagi proses menjadi dua tahapan, yaitu tahapan Map dantahapan Reduce. Map merupakan proses yang berjalan
secara parallel, sedangkan Reduce merupakan proses penggabungan hasil dari proses map.
Gambar 2.4
Proses Mapreduce pada banyak komputer
1. Proses “ Map” yaitu masternode menerima input ,kemudian input tersebut dipecah menjadi beberapasubproblem yang kemudian didistribusikan ke worker
nodes. Worker nodes ini akan memprosessubproblem yang diterimanya untuk kemudianapabila problem tersebut diselesaikan, maka akandikembalikan ke masternode.2. Proses “ Reduce” yaitu masternode menerima jawaban dari semua subproblem dari banyak datanodes, menggabungkan jawaban-jawaban tersebutmenjadi satu jawaban besar untuk mendapatkan
penyelesaian dari permasalahan utama, keuntungandari Mapreduce ini adalah proses map dan reducedapa dijalankan secara terdistribusi.
2.4 Hadoop Distributed File System (HDFS)HDFS adalah filesystem yang berbasis java,
yang menyimpan file dalam jumlah besar dan disimpansecara terdistribusi didalam banyak komputer yangsaling berhubungan (White, 2008). Pada umumnyadata replikasi kedalam 3 node yaitu dua rack yangsama dan satu di rack yang berbeda, hal ini bertujuan untuk menjaga realibility dari HDFS. Sistem
file membutuhkan server induk yang dinamakannamenode, berfungsi untuk menyimpan metadata daridalam yang ada didalam. Data tersebut disimpan didalam server-server yang dinamakan datanode yangdapat diakses dengan menggunakan protokol HTTP.
Datanode ini bisa saling berkomunikasi satusama lain untuk menjaga konsistensi data danmemastikan proses replikasi data berjalan dengan baik.
TestDFSIO adalah Aplikasi benchmarkhadoop yang berfungsi untuk menguji kinerja I / Odari HDFS. Hal ini dilakukan dengan menggunakan
pekerjaan MapReduce sebagai cara yang nyamanuntuk membaca atau menulis file secara paralel.Setiap file yang dibaca atau ditulis dalam tugas yangterpisah. TestDFSIO output dari map yang digunakanuntuk mengumpulkan statistik yang berkaitan denganfile hanya diproses.
2.6 WordCount` Wordcount adalah aplikasi benhcmark hadoop yang berfungsi untuk menghitung tingkat kemiripan darisetiap kata dalam sebuah large documents.Wordcount merupakan aplikasi penting MapReduce karena di butuhkan dalam pemetaaan file.
Gambar 2.6
Proses WordCount dokumen
Operasi wordcount berlangsung dalalm dua tahap Map dan Reduce
Pada fase pertama mapper tes ini tokenized dengankata-kata maka kita membentuk pasangan nilai kuncidengan kata-kata di mana kunci menjadi kata itusendiri dan nilai '1 '
Pada tahap reduce phase dikelompokkan bersama dannilai-nilai untuk kunci yang sama ditambahkan.
Reduce menghasilkan output pasangan intermediate<key, value>. Sebelum memasuki tahap reduce,
pasangan intermediate <key, value> dikelompokkan berdasarkan key, tahap ini dinamakan tahap shuffle.
2.7 CactiCacti adalah salah satu software yang digunakanuntuk keperluan monitoring Cacti menyimpan semuadata/informasi yang diperlukan untuk membuatgrafik dan mengumpulkannya dengan databaseMySQL. Untuk menjalankan Cacti, diperlukansoftware pendukung seperti MySQL, PHP,RRDTool, net-snmp, dan sebuah webserver yangsupport PHP seperti Apache atau IIS.
2.8 UbuntuUbuntu adalah sistem operasi turunan dari distro
Linux jenis Debian unstable (sid), Ubuntu merupakan project untuk komunitas, yang bertujuan untuk
menciptakan sebuah sistem operasi beserta dengan paket aplikasinya yang bersifat free dan open source,karena Ubuntu mempunyai prinsip untuk selamanya bersifat gratis ( free of charge) dan tidak adatambahan untuk versi enterprise edition.
4.1 Implementasi1. Pertama melakukan instalasi java pada tiap
server dengan perintah:#apt-get install sun-java6-jdk sun-java6- plugin
2. Melakukan instalasi ssh dan rsync sebaagaiaplikasi remote server.$apt-get openssh-server$apt-get rsync
3.
Menambah alamat ip pada konfigurasi jaringan pada tiap host dengan perintah$nano /etc/hosts
4. Sebelum melakukan instalasi, downloadhadoop terlebih dahulu kemudain dapatmelakukan Instalasi Hadoop-02.02 perintahdengan perintah :$ cd /usr/local/$sudo tar –xvf hadoop-0.20.2 tar.gz$sudo chown -R padlis:hadoop hadoop-0.20.2
5.
Karena hadoop berplatform aplikasi java maka penulis menambahkan konfigurasi padaaplikasi hadoop :$cd /usr/local/hadoop-0.20.2/conf$nano /hadoop-env.sh# The java implementation to use. Required.export JAVA_HOME=/usr/lib/jvm/java-6-sun
6. Kemudian penulis melakukan konfigurasihadoop untuk merubah parameter dalam
memproses dokumen.$ cd /usr/local/hadoop-0.20.2/conf$ nano /core-site.xml$ nano /mapred-site.xml$ nano /hdfs-site.xml
7.
Kemudian format node dari file system$cd /usr/local/hadoop-0.20.2$bin/hadoop namenode -format
8. Menjalankan java proses server hadoop$ cd /usr/local/hadoop-0.20.2$ bin/start-dfs.sh$ bin/mapred-dfs.sh
4.2.1 Pengujian pada Aplikasi WordCount Berikut ini hasil pengujian pada aplikasi wordcountdengan mengukur waktu per second pada proseshadoop tersebut. Berdasarkan skenario pengujian: