Apache Spark adalah data processing framework yang dapat melakukan tugas pemrosesan pada kumpulan data besar dengan cepat , mencakup berbagai macam beban kerja seperti batch aplication, iterative algorithms, interactive queres dan streaming. Biasanya Spark menjadi bagian dari infrastruktur Big Data dan Machine learning. Apache Spark dapat mendistribusikan tugas pemrosesan ke beberapa worker (cluster), Hal ini membuatnya pemrosesan data menjadi lebih cepat.
Sejarah Spark
Apache Spark dimulai sebagai proyek penelitian dari AMP-Lab
UC Berkley kolaborasi antara mahasiswa, peneliti, fakultas yang berfokus pada
data di tahun 2009, tujuannya untuk membuat system baru yang dapat dioptimalkan
untuk pemrosesan berulang yang cepat dan jumlah data besar.
Matei Zaharia merupakan programer awal pembuat aplikasi
Spark Framework ini pada tanggal 26 Mei 2014 dia menulis Spark dengan Scala.
Spark berstatus open-source di bawah licensi BSD (Berkeley
Software Distribution) setelah makalah paper/Jurnal pertama release berjudul
“Spark: Cluster Computing with Working Sets,” pada Juni 2010, lalu pada
Juni 2013 Spark diterima dalam program inkubasi Apache Software Fondation
(ASF), dan pada bulan Februari 2014 masuk delam list Apache Top-Level
Project. Untuk detailnya mungkin bisa dibaca disini
Dalam dokumentasi kali ini kita akan mengginstall Apache Spark Cluster di Centos 7 dengan environment virtual Machine.
- Instalasi Server
Cluster Multi Worker berisi dua atau lebih Worker. Artinya kita membutuhkan lebih dari satu server untuk menjadikan nya cluster sebagai master/worker untuk Cluster ini.
Oiya metode instalasi clusternya hampir sama seperti instalasi Hadoop Cluster pada postingan sebelumnya jadi ada beberapa yang akan kita skip. Dan pastikan ketiga server tersebut dapat saling terhubung satu dengan lainnya, dan server master sudah authorization untuk akses semua worker nya.
- Instalasi Java
Spark dibuat menggunakan bahasa programan "java", jadi kita perlu instalasi Java. Gunakan syntax berikut :.
# yum
install java-1.8.0-openjdk*
Jika sudah ter'install dengan benar kita dapat melakukan pengecekan instalasi Java tersebut
$ javac -version
- Instalasi Scala
Untuk
menginstal Scala, disarankan untuk menggunakan cs setup, sesuai rekomendasi
dari official website nya dengan command berikut :
$ curl -fL https://github.com/coursier/launchers/raw/master/cs-x86_64-pc-linux.gz | gzip -d > cs && chmod +x cs && ./cs setup
Official Website nya > Install | The Scala Programming Language (scala-lang.org)
Jika sudah terinstall dengan benar, kita dapat melakukan pengecekan instalasi tersebut :
$ scala -version
- Instalasi Spark
https://spark.apache.org/downloads.html
Extract file Spark yang sudah di download dengan command berikut
$tar xzf [file-tar.gz]
Rename folder extract tersebut menjadi “spark”
$ mv [folder-extract] spark
*Disarankan
untuk menjalankan menggunakan standart user (non root),
Tambahkan baris berikut ke file ~/.bashrc untuk menambahkan informasi lokasi di mana file spark berada.
export SPARK_BIN=$SPARK_HOME/bin
export SPARK_SBIN=$SPARK_HOME/sbin
export SPARK_CONF=$SPARK_HOME/conf
export PATH=$SPARK_HOME/bin:$PATH
Kemudian terapkan perubahan pada console yang berjalan saat
ini/refresh.
$ source ~/.bashrc
- Spark Master Configuration
Lakukan langkah berikut :
Edit file spark-env.sh, Masuk ke dalam folder configurasi pada spark
$ cd spark/conf
Lalu edit file spark-env,
export JAVA_HOME=<Path_of_JAVA_installation>
$ nano workers
Tambahkan alamat server/domain dari worker ke dalam file workers
Kita hanya tinggal lakukan instalasi Aplikasi Spark ke masing-masing workers, lalu jalankan spark cukup dari server master saja, dengan menjalankan script "start-all.sh" di dalam folder spark/sbin
**pastikan services port sudah dibuka / services firewalld disable
Gunakan web-browser untuk melihat active workers dari Web Spark Manager dengan mengakses http://[IP-Server-Master] : Port 8080 (http) atau Port 8480 (https)
Spark-Shell
Secara detail bisa dibaca website resmi nya Quick Start - Spark 3.3.1 Documentation (apache.org)
untuk menjalankan nya cukup execute file "spark-shell" yang berada di "spark/bin"
Untuk more detail tentang penggunaan Spark-Shell, dapat dilihat di link berikut Spark Shell Command Usage with Examples - Spark by {Examples} (sparkbyexamples.com)
a
