:::: MENU ::::

Instalasi Spark 1.4.1 Cluster di Ubuntu 14.04 VMWare

Tutorial ini adalah kelanjutan dari Instalasi Hadoop Cluster di Ubuntu 14.04 VMWare. Diasumsikan bahwa Hadoop Cluster sudah disetting dan berjalan dengan baik seperti dalam tutorial tersebut.

Untuk dapat berjalan di atas cluster, Spark dapat dijalankan dengan menggunakan beberapa jenis cluster manager, yaitu Hadoop Yarn, Apache Mesos, ataupun cluster manager yang dimiliki Spark sendiri atau Spark stand alone cluster. Cluster manager ini yang akan mengalokasikan resource dalam cluster di mana Spark dijalankan. Untuk penjelasan lebih lanjut mengenai masing-masing arsitektur, dapat dibaca di sini

Untuk menjalankan spark dengan Spark cluster, berikut ini cara settingnya:

Versi software yang digunakan adalah :

  • Spark versi 1.4.1
  • Scala 2.10.4
  • Hadoop 2.6.0

Berikut ini konfigurasi cluster-nya:

IP Type Node Hostname
192.168.4.148 Hadoop Name node / Spark Master ubuntu1
192.168.4.149 Hadoop Data node 1 / Spark Worker ubuntu2
192.168.4.155 Hadoop Data node 2 / Spark Worker ubuntu3
  1. Download Apache Spark binary distribution dari siteApache Spark. Pilih spark distribution 1.4.1, Package type Pre-built for Hadoop 2.6 and later.
  2. tutorial04_01

    Copy file spark-1.4.1-bin-hadoop2.6.tgz ke 3 mesin di atas.

    Bisa juga langsung dengan perintah berikut di salah satu mesin,

    hduser@ubuntu1:~$ wget http://www.apache.org/dyn/closer.lua/spark/spark-1.4.1/spark-1.4.1-bin-hadoop2.6.tgz

    Lalu distribusikan ke mesin yang lain dengan perintah scp

    hduser@ubuntu1:~$ scp spark-1.4.1-bin-hadoop2.6.tgz hduser@ubuntu2:/home/hduser/
    hduser@ubuntu1:~$ scp spark-1.4.1-bin-hadoop2.6.tgz hduser@ubuntu3:/home/hduser/
  3. Download Scala 10.2.4
  4. hduser@ubuntu1:~$ wget http://www.scala-lang.org/files/archive/scala-2.10.4.tgz

    Lalu distribusikan ke mesin yang lain dengan perintah scp

    hduser@ubuntu1:~$ scp scala-2.10.4.tgz hduser@ubuntu2:/home/hduser/
    hduser@ubuntu1:~$ scp scala-2.10.4.tgz hduser@ubuntu3:/home/hduser/
  5. Extract package
  6. Extract package spark di atas, dan pindahkan ke direktori /usr/local/spark

    hduser@ubuntu1:~$ tar xzvf spark-1.4.1-bin-hadoop2.6.tgz
    hduser@ubuntu1:~$ sudo mv spark-1.4.1-bin-hadoop2.6 /usr/local/spark

    Extract package scala di atas, dan pindahkan ke direktori /usr/local/scala

  7. Update file .bashrc. Tambahkan 3 baris berikut ini ke akhir file $HOME/.bashrc dari user hadoop. Jika anda menggunakan shell selain bash, maka anda perlu meng-update config file yang bersesuaian
  8. export SCALA_HOME=/usr/local/scala
    export SPARK_HOME=/usr/local/spark
    export PATH=$HOME/bin:$SCALA_HOME/bin:$PATH

    Load setting dengan perintah

    hduser@ubuntu1:~$ . ~/.bashrc

    tutorial04_02

  9. Create direktori /home/hduser/sparkdata
  10. Sesuaikan file-file konfigurasi
  11. file /usr/local/spark/conf/spark-env.sh

    export SCALA_HOME=/usr/local/scala
    export SPARK_WORKER_MEMORY=256m
    export SPARK_WORKER_INSTANCES=1
    export SPARK_WORKER_DIR=/home/hduser/sparkdata
    export SPARK_MASTER_IP=ubuntu1

    tutorial04_03

    file /usr/local/spark/conf/slaves

    hduser@ubuntu1:~$ cp /usr/local/spark/conf/slaves.template /usr/local/spark/conf/slaves (copy file slaves.template ke file slaves)

    ubuntu1
    ubuntu2
    ubuntu3

    tutorial04_04

    hduser@ubuntu1:~$ cp /usr/local/spark/conf/spark-defaults.conf.template /usr/local/spark/conf/spark-defaults.conf (copy file spark-defaults.conf.template ke file spark-defaults.conf)

    file /usr/local/spark/conf/spark-defaults.conf.template

    spark.master spark://ubuntu1:7077 tutorial04_05

    Lakukan langkah 2-6 di atas untuk ke 2 server yang lain.

  12. Jalankan spark master dan worker
  13. Untuk menjalankan spark master dan node, jalankan perintah berikut di mesin master (ubuntu1) :

    hduser@ubuntu1:~$ /usr/local/spark/sbin/start-all.sh

    Cek apakah master dan node sudah jalan, dengan perintah berikut:

    hduser@ubuntu1:~$ jps

    Untuk server master, akan tampak service-service berikut ini (catatan: dfs dan yarn sudah di-start sebelumnya)

    tutorial04_06

    Untuk node worker, sbb:

    tutorial04_07
  14. Spark Shell dan Web Interface
  15. Untuk melihat web interface monitoring, jalankan spark-shell dengan perintah berikut ini:

    hduser@ubuntu1:~$ /usr/local/spark/bin/spark-shell

    Di scala shell, jalankan perintah berikut ini:

    scala> val input = sc.textFile("hdfs://ubuntu1:54310/data/README.txt")
    scala> val words = input.flatMap(line => line.split(" "))
    scala> val counts = words.map(word => (word, 1)).reduceByKey{case (x, y) => x + y}
    scala> counts.collect()

    Akan muncul log dan hasil count yang dimunculkan sebagian sbb:

    tutorial04_08

    Jalankan perintah berikut ini untuk menyimpan output ke hdfs:

    scala> counts.saveAsTextFile("hdfs://ubuntu1:54310/data/testSave")

    scala> counts.saveAsTextFile("hdfs://ubuntu1:54310/data/testSave")

    Untuk mengecek apakah file terbentuk, jalankan perintah berikut dari dari unix shell:

    hduser@ubuntu1:~$ hadoop fs -ls /data
    Found 2 items
    -rw-r--r-- 2 hduser supergroup 1366 2015-11-13 11:21 /data/README.txt
    drwxr-xr-x - hduser supergroup 0 2015-11-13 12:06 /data/testSave

    Bisa juga dengan menggunakan web interface hadoop di ubuntu1:50070, menu Utilities → Browse the File System

    tutorial04_09

    Untuk melihat isi file, gunakan perintah berikut:

    hduser@ubuntu1:~$ hadoop fs -cat /data/testSave

    Untuk melihat perintah lain yang dapat dilakukan di hadoop, gunakan perintah hadoop fs -help

Sekian Tutorial kali ini,

Semoga bermanfaat 🙂

Contributor :

M. Urfah
Penyuka kopi dan pasta (bukan copy paste) yang sangat hobi makan nasi goreng. Telah berkecimpung di bidang data processing dan data warehousing selama 12 tahun. Salah satu obsesi yang belum terpenuhi saat ini adalah menjadi kontributor aktif di forum idBigdata.
Tertarik dengan Big Data beserta ekosistemnya? Gabung