1.
Pendahuluan
1.1. Latar Belakang Menurut penelitian yang dilakukan oleh Gantz et al estimasi data elektronik mencapai 0,18 zettabyte pada tahun 2006 dan diramalkan akan mencapai 1,8 zettabyte pada tahun 2011, data elektronik yang besar tersebut perlu diolah untuk memperoleh manfaat lebih [9]. Adakalanya aplikasi yang dibuat membutuhkan komputer dengan sumber daya yang tinggi sebagai lingkungan implementasi dan biasanya harga untuk komputer dengan sumber daya yang tinggi tidaklah murah sedangkan untuk komputer dengan spesifikasi yang tidak terlalu tinggi akan kurang reliable dalam menangani data yang begitu besar. Penggunaan Hadoop sebagai framework untuk proses komputasi dan media penyimpanan, sangatlah tepat karena Hadoop akan melakukan proses komputasi secara terdistribusi, yaitu tidak hanya mengandalkan satu server yang bekerja secara relasional, tetapi dengan memanfaatkan proses komputasi dengan banyak server yang bekerja dengan terdistribusi. Selain proses komputasi yang cepat, server tersebut juga dihadapkan pada berbagai kemungkinan terjadinya gangguan sistem yang berpotensi menimbulkan kehilangan data dan terhambatnya proses bisnis yang bersifat merugikan. Dengan adanya kesadaran akan perlunya pengembangan sistem yang tepat untuk menjaga kelangsungan proses bisnis, kebutuhan, dan keamanan penyimpanan informasi, maka dilakukanlah analisis dan perancangan sistem High Availability. Kelemahan dari Hadoop Disrtributed File System (HDFS ) ini adalah , ketika Master Server yang didalamnya terdapat Namenode dan Jobtracker mengalami down maka File System tidak akan bisa melayani user [14]. Memang didalam HDFS ada yang dinamakan secondary Namenode yang seringkali menimbulkan kesalahpahaman pengertian bahwa apabila primary Namenode mati maka akan langsung digantikan oleh secondary Namenode. Padahal secondary Namenode ini hanya menyimpan informasi terbaru dari struktur direktori pada primary Namenode. Cara untuk mengantisipasi problem SPOF pada primary Namenode adalah dengan membuat cloning dari server Namenode ini di server yang berbeda, sehingga apabila server primary Namenode mengalami masalah/mati dapat
1
digantikan oleh kloningnya selain itu diperlukan juga metode otomatis failover, yaitu jika primary server mati maka server yang bertindak sebagai cloningannya akan dengan otomatis
bertindak sebagai primary server dan semua service
hadoop yang ada di primary server akan langsung berjalan tanpa konfigurasi manual oleh admin. Sistem Failover merupakan salah satu cara untuk mengatasi apabila terjadi suatu kejadian yang mengakibatkan server utama down maka secara otomatis sistem backup akan menggantikan peran sistem utama[12]. Oleh karena itu, dibutuhkan suatu metode untuk menjaga agar jika terjadi down pada server utama metode tersebut dapat meminimalisir waktu mati agar tingkat availability dari sistem menjadi tinggi. Distributed Replicated Block Device (DRBD) merupakan suatu aplikasi replikasi storage block device antar 2 buah server, yang memungkinkan melakukan sinkronisasi 2 server [15], sedangkan Heartbeat adalah sebuah aplikasi yang dapat mendeteksi apabila server utama down maka Heartbeat akan secara otomatis mengarahkan peran server utama kepada server backup [13]. Proses failover yang terjadi dapat dibedakan menjadi planned downtime dan unplanned downtime. Server master mengalami Planned downtime saat admin akan mengupgrade Master Server, yaitu dengan mematikan service Hadoop terlebih dahulu sebelum mematikan Master Server. Disamping Planned downtime ada metode Unplanned Downtime yaitu saat Master Server mati secara tiba-tiba tanpa direncanakan. Pada Tugas akhir ini akan diimplementasikan High Availability (HA) dengan DRBD dan Heartbeat, yang berfungsi sebagai sistem back up otomatis untuk Namenode pada Hadoop.
1.2.
Perumusan Masalah
Permasalahan yang akan diselesaikan dari pengerjaan tugas akhir ini adalah: a. Bagaimana implementasi dan performansi Hadoop master sebelum dan setelah Failover. b. Bagaimana pengaruh Planned dan Unplanned downtime terhadap waktu Failover.
2
c. Bagaimana pengaruh jumlah blok yang disimpan dalam Hadoop terhadap waktu Failover.
1.3.
Batasan Masalah
Dalam pengerjaan tugas akhir ini, permasalahan dibatasi dalam beberapa hal yaitu: a. Framework yang digunakan untuk Hadoop adalah CDH3 (Cloudera Distribution of Hadoop). b. Implementasi High Availity menggunakan DRBD untuk mirroring database, dan Heartbeat sebagai automatic Failover. c. Sistem Operasi yang digunakan adalah Ubuntu Desktop 10.04 LTS d. Tidak memperhatikan algoritma untuk read dan write pada HDFS. e. Datanode yang digunakan sebanyak 2 dan ukuran blok yang digunakan dalam penyimpanan adalah sebesar 64 MB (default). f. Penulisan dan pembacaan data dilakukan dari sisi server. g.
Tidak membahas sistem keamanan pada saat proses Failover.
1.4.
Tujuan
a. Mengimplementasikan DRBD dan Heartbeat di Hadoop untuk meningkatkan High Availability. b. Membandingkan Planned downtime dan unplanned downtime sebagai metode failover. c. Mengukur pengaruh jumlah blok yang disimpan di Datanode terhadap waktu failover.
1.5.
Hipotesis Pengguanaan DRBD dan Heartbeat akan memberikan High Availability
pada Hadoop dengan meminimalisir downtime saat terjadi Namenode Failover.
1.6.
Metodologi Penyelesaian Masalah Metode yang dipakai untuk menyelesaikan masalah ini adalah:
3
a. Studi Pustaka dan Literatur Melakukan pencarian secara mandiri dari berbagai sumber mengenai Hadoop, DRBD dan Heartbeat, sehingga diperoleh identifikasi dan metode penyelesaian masalah sesuai dengan tujuan riset ini. b. Konsultasi dan Diskusi Konsulatasi dan diskusi dengan pembimbing TA, dan diskusi di mailing list (milis). c. Analisis Kebutuhan Sistem Melakukan perancangan topologi sistem dan menganalisis kebutuhan sistem DRBD dan Heartbeat yang akan diimplementasikan Hadoop pada saat Namenode Failover. Sistem dibuat dengan sistem operasi ubuntu Desktop 10.04 dengan menggunakan platform CDH3. Kemudian diimplementasikan saat terjadi Failover pada Namenodenya. d. Desain Skenario Uji Pada tahap ini dilakukan perancangan terhadap skenario pengujian yang akan digunakan untuk mengukur kemampuan DRBD dan Heartbeat dalam melakukan automatic Failover yang terjadi pada Hadoop. e. Testing dan Analisis Sistem diujicobakan pada sebuah testbed atau prototypeHadoop. Kemudian dilakukan pengambilan data berdasarkan skenario pengujian yang telah dibuat. Selanjutnya dilakukan analisis pengaruh DRBD dan Heartbeat pada Hadoop. f. Penyusunan Laporan Tugas Akhir Membuat dokumentasi dari semua tahapan pengerjaan tugas akhir ini, mulai dari dasar teori yang digunakan, proses pembuatan sistem, hingga hasil dari pengujian yang dilakukan. .
1.7.
Sistematika Penulisan
Tugas akhir ini disusun dengan sistematika penulisan sebagai berikut:
4
BAB I Pendahuluan Bab ini menguraikan tugas akhir ini secara umum, meliputi latar belakang masalah, perumusan masalah, tujuan, batasan masalah, dan metode yang digunakan BAB II Dasar Teori Bab ini membahas mengenai uraian teori yang berhubungan dengan High Availability, Hadoop, DRBD, dan Heartbeat. BAB III Perancangan dan Implementasi Bab ini berisi perancangan topologi sistem dan analisis kebutuhan dari sistem serta masalah-masalah yang ada di dalamnya.Dari tahap analisis kebutuhan kemudian dilanjutkan ke tahapimplementasi. BAB IV Pengujian dan Analisis Bab ini membahas mengenai pengujian hasil implementasi yang telah dilakukan pada bab sebelumnya. Pengujian dilakukan dengan melakukan beberapa skenario untuk memperoleh pengaruh yang diberikan implementasi DRBD dan Heartbeat pada Hadoop terhadap waktu downtime saat terjadi Namenode Failover BAB V Kesimpulan dan Saran Bab ini membahas mengenai kesimpulan yang didapat dari hasil percobaan dan saran untuk penelitian selanjutnya.
5