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