Hadoop Benchmarking

hadoop-benchmarking

TeraSort adalah salah satu utilitas populer untuk melakukan benchmark pada klaster Hadoop. Tujuan dari TeraSort adalah melakukan pengurutan data yang dibuat secara acak secepat mungkin. Proses pengurutan data ini dimaksudkan untuk melakukan pengukuran kinerja Hadoop core yaitu HDFS dan MapReduce

TeraSort selalu disertakan dalam Hadoop sebagai sebuah contoh aplikasi. Hampir semua distro Hadoop biasanya menyertakan utilitas ini. Pada Yava247 Data Management Platform utilitas ini dapat ditemukan pada

/usr/yava/3.0.0.0-0000/hadoop-mapreduce/hadoop-mapreduce-examples.jar

 

TeraSort memiliki 3 bagian, yaitu

  1. TeraGen

Utilitas ini bertugas untuk membuat data-data dalam HDFS yang akan digunakan untuk proses benchmark. Setiap data yang dibuat sebesar 100 byte, TeraGen hanya menggunakan map (tidak melibatkan reduce) dan biasanya digunakan untuk menguji kinerja penulisan data ke dalam HDFS 

  1. TeraSort

Utilitas ini bertugas untuk melakukan pengurutan data yang telah dihasilkan oleh TeraGen dengan menggunakan mapreduce. Proses TeraSort akan melibatkan baca/tulis HDFS, transfer data dalam jaringan, penggunaan CPU dan penggunaan memory

  1. TeraValidate

Utilitas ini menggunakan proses map/reduce untuk memvalidasi hasil pengurutan yang telah dilakukan oleh proses TeraSort. TeraValidate lebih banyak digunakan untuk melakukan pengujian performa proses pembacaan HDFS

 

TeraGen 

Pada bagian ini kita akan membuat data sekitar 10.000.000 records atau sebesar 1GB, dan meletakkan outputnya di direktori /user/user01/teragen-1g di HDFS. Jalankan perintah berikut

yarn jar /usr/yava/3.0.0.0-0000/hadoop-mapreduce/hadoop-mapreduce-examples.jar teragen 10000000 /user/user01/teragen-1g

 

TeraSort

Lakukan perintah berikut untuk mengurutkan data yang telah dibuat dengan teragen di di direktori /user/user01/teragen-1g , dan menuliskan hasilnya di direktori yang sama.

yarn jar /usr/yava/3.0.0.0-0000/hadoop-mapreduce/hadoop-mapreduce-examples.jar terasort /user/user01/teragen-1g /user/user01/terasort-1g

 

TeraValidate

Proses terakhir adalah memvalidasi hasil dari pengurutan yang dilakukan oleh TeraSort. Direktori input dan output tetap sama seperti sebelumnya. 

yarn jar /usr/yava/3.0.0.0-0000/hadoop-mapreduce/hadoop-mapreduce-examples.jar teravalidate /user/user01/terasort-1g /user/user01/teraval-1g

 

Pengujian Pada Klaster Hadoop

Pengujian dengan menggunakan Terasort pada klaster Hadoop dapat dilakukan dengan mengubah-ubah parameter data yang digunakan oleh TeraGen dalam menghasilkan data:

  • 1 GB data : 10.000.000
  • 100 GB data: 1.000.000.000
  • 1 TB data: 10.000.000.000

Pada klaster Hadoop untuk production, dapat dilakukan pengujian dengan data diatas 1TB dan membandingkan waktu proses secara keseluruhan.

Walaupun hanya menggunakan MapReduce sebagai pemrosesan secara terdistribusi, tetapi dapat memberikan gambaran secara umum mengenai performa dari klaster Hadoop yang dibenchmark atau diuji.