Selasa, 13 Desember 2022

Install Spark Cluster on HADOOP YARN CentOS 7


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 https://cds.iisc.ac.in/wp-content/uploads/DS256.2017.L15.Spark_.RDD_.pdf


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

$ java -version
$ 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

Download spark di website resmi nya, dan lakukan instalasi

https://spark.apache.org/downloads.html

$  wget [file-url]
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_HOME=/home/hadoop2/spark
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.shMasuk ke dalam folder configurasi pada spark

$ cd spark/conf

Lalu edit file spark-env, 
$ cp spark-env.sh.template spark-env.sh
$ nano spark-env.sh

Tambhkan baris kode berikut ke dalam file spark-env.sh :

export SPARK_MASTER_HOST='<MASTER-IP>'
export JAVA_HOME=<Path_of_JAVA_installation>

Contohnya seperti gambar berikut 

Edit file Workers (Hanya di server-master)
$ 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

Spark Manger

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

Share:
Dki Jakarta,Indonesia Indonesia