Cuma Konfigurasi SPARK

Spark adalah salah satu produk dari Apache yang digunakan untuk memudahkan proses paralel computing. Sesuai dengan pengertian wikipedia, parallel computing dapat diartikan sebagai

Parallel computing is a type of computation in which many calculations are carried out simultaneously,operating on the principle that large problems can often be divided into smaller ones, which are then solved at the same time.

 

Jadi, ya sebuah pekerjaan komputasi yang dilakukan oleh 2 atau lebih komputer untuk mempercepat proses pengerjaan, dimana bagian dari pengerjaan itu terbagi menjadi bagian-bagian lebih kecil. Aplikasi semacam ini biasanya digunakan untuk pemrosesan data yang cukup besar, semisal saja big data, clustering dan lain sebagainnya. Tulisan ini hanya menjelaskan pada bagian konfigurasi saja, Tidak sampai pada proses bagaimana mengeksekusi aplikasi pada Spark.

Instalasi Dependency

Kali ini saya menggunakan Ubuntu server pada Virtual Box, untuk bagian konfigurasi Ubuntu server pada Virtual Box Saya tidak menjelaskan pada artikel ini. Anda bisa melakukan pencarian pada Google, atau media lain. Saya mengawalinya dengan melakukan konfigurasi JDK (Java Development Kit), yaitu seperangkat tools yang digunakan untuk meng-eksekusi bahasa pemrograman Java. Pada Linux, terdapat 2 macam JDK silahkan untuk menggunakan JDK milik Oracle. Berhubung saya kebetulan sedang malas konfigurasi, pilihan Saya jatuh pada instalasi online menggunakan PPA(repository).

sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install openjdk-7-jdk
sudo apt-get install oracle-java7-set-default

Selanjutnya instalasi Maven, build-essential, sbt, beberapa Python dependency dan git. Untuk proses ini anda bisa melakukan pemilihan, hal ini mengingat scala mampu mengatasi 3 macam bahasa pemrograman yaitu Python, Java, dan Scala. Lebih utama Scala,karena SPARK dibangun diatas bahasa pemrograman ini.

Konfigurasi SPARK

Spark bisa dikonfigurasi menjadi multi-node dan single-node. Single-node merupakan pemrosesan menggunakan sebuah komputer namun terdiri dari beberapa prosesor yang melakukan pekerjaan. Pada bagian ini, pekerjaan akan terbatas pada memori dan prosesor. Sehingga jika Anda memang membutuhkan resource yang lumayan rumit dan besar, Saya menyarankan untuk menggunakan multi-node. Untuk melakukannya Anda bisa melakukan konfigurasi sesuai dengan template yang disediakan oleh spark. Yaitu pada spark-env.sh.template, ubah menjadi spark-env.sh. File .sh tersebut nantinya akan dieksekusi untuk menjalankan worker pada SPARK. Tambahkan beberapa baris konfigurasi pada file tersebut, sesuai kebutuhan Anda. Saya sendiri menambahkan baris

export SPARK_WORKER_MEMORY=1g #mengatur banyaknya memori yang digunakan oleh worker
export SPARK_EXECUTOR_MEMORY=512m #mengatur banyaknya memorii yang digunakan oleh tiap worker
export SPARK_WORKER_INSTANCES=2 #mengatur banyaknya worker yang berkerja tiap node
export SPARK_WORKER_CORES=2 #mengatur banyak nya prosesor yang berkerja tiap node
export SPARK_WORKER_DIR=/home/el/work #mengatur directory SPARK menjalankan seluruh aksi

Setelah konfigurasi pada environment-nya, selanjutnya cek slaves pada directory conf/slaves. File ini digunakan untuk mengatur host-name yang akan digunakan oleh Spark. Secara default pada bagian ini biasanya akan dituliskan sebagai localhost.

Selanjutnya ketika konfigurasi sudah, Anda bisa menjalankan server dengan mengeksekusi file start-master pada directory sbin/start-master.sh. Jika konfigurasi benar, maka secara default spark akan menjalankan master pada hostname:7077 misalkan saja milik saya spark://x64:7077

Runningg..

Setelah itu melanjutkan menjalankan worker dengan mengeksekusi file start-slaves pada directory sbin/start-slaves.sh. Slaves inilah yang akan menjadi worker untuk menyelesaikan masalah dengan menjalankan proses sesuai permintaan Anda. Tentunya dengan 3 bahasa pemrograman tadi.

Nah! Pada tahap ini Anda bisa menjalankan Spark sesuai kebutuhan Anda, untuk melakukannya Anda bisa melakukan testing dengan menggunakan spark-shell pada directory bin/spark-shell. Secara default bahasa pemrograman pada spark-shell adalah Scala, jika Anda ingin menggunakan python Anda bisa melakukan eksekusi pada pyspark pada directory yang sama.

Jika Anda merasa telah cukup, hentikan Sparkdengan menggunakan perintah stop-all.sh pada directory sbin/stop-all.sh. Tenang ini cuma konfigurasi saja kok, proses ruwetnya masih belum.

Leave a Reply

Your email address will not be published. Required fields are marked *