How to Install and Configure Apache Spark on Ubuntu 20.04

How to Install and Configure Apache Spark on Ubuntu 20.04

Apache Spark is an open-source computational framework for high scale analytical data and machine learning processing. It supports various preferred languages such as scala, R, Python, and Java. It provides high-level tools for spark streaming, GraphX for graph processing, SQL, MLLib.

In this article, you will get to know the way to install and configure Apache Spark on ubuntu. To demonstrate flow in this article I have used the Ubuntu 20.04 LTS version system. Before installing Apache Spark you have to install Scala as well as scala on your system.

Installing Scala

If you haven’t installed Java and Scala you can follow up the following process to install it.

For Java, we will be installing open JDK 8 or you can install your preferable version.

$ sudo apt update
$ sudo apt install openjdk-8-jdk

If you need to verify the java installation you can execute the following command.

$ java -version

As for Scala, scala is a object oriented and functional programming language that combines it into single concise. Scala is compatible with both javascript runtime as well as JVM granting you easy access to the large libraries ecosystem which helps in building high performance system. Execute the following apt command to install scala.

$ sudo apt update
$ sudo apt install scala

Now, check the version to verify the installation.

$ scala -version

Installing Apache Spark

There is no official apt repository to install apache-spark but you can pre-compiled binary from the official site. Use the following wget command and link to download the binary file.

$ wget https://downloads.apache.org/spark/spark-3.1.2/spark-3.1.2-bin-hadoop3.2.tgz

Now, extract the downloaded binary file using the following tar command.

$ tar -xzvf spark-3.1.2-bin-hadoop3.2.tgz

Lastly, move the extracted spark files to /opt directory.

$ sudo mv spark-3.1.2-bin-hadoop3.2 /opt/spark

Setting Up Environment Variables

Your path variable for spark in your .profile in the file needed to set up in order for the command to work without a complete path, you can do so either using the echo command or do it manually using a preferable text editor. For an easier way execute the following echo command.

$ echo "export SPARK_HOME=/opt/spark" >> ~/.profile
$ echo "export PATH=$PATH:/opt/spark/bin:/opt/spark/sbin" >> ~/.profile
$ echo "export PYSPARK_PYTHON=/usr/bin/python3" >> ~/.profile

As you can see the path variable is appended to at the bottom of .profile file using echo with >> operation.

Now, run the following command to apply the new environment variable changes.

$ source ~/.profile

Deploying Apache Spark

Now, we have set up everything we can execute the master service as well as worker service using the following command.

$ start-master.sh

As you can see our spark master service is running on port 8080. If you browse the localhost on port 8080 which the default port of spark. You may encounter the following type of user interface when you browse the URL. You may not find any worker processor running by starting only master service. When you start the worker service you will find new node listed just like in the following example.

When you open master page in browser then you can see spark master spark://HOST:PORT URL which is used to connect the worker services through this host. For my current host my spark master url is spark://Linuxways.localdomain:7077 so you need to execute the command in the following way to start the worker process.

$ start-workers.sh <spark-master-url>

To execute the following command to run the worker services.

$ start-workers.sh spark://Linuxways.localdomain:7077

Also, you can use spark-shell by executing the following command.

$ spark-shell


I hope from this article you learn the way to install and configure apache spark on ubuntu. In this article, I attempted to make the process as understandable as I can.

Similar Posts