Това е списък с действия за инсталиране на Spark master (или драйвер) с отворен код и worker в локален Ubuntu напълно безплатно. (за разлика от Databricks за $$$)

Следната настройка се изпълнява в домашен интранет. На една физическа машина с Linux (Ubuntu) (Jetson Nano) и една WSL2 (Ubuntu) в Windows 10.

Стъпка 1. Подгответе среда

Уверете се, че имате инсталирана Java

sudo apt install openjdk-8-jdk

Проверете дали сте инсталирали Java

java -version

Ако ще използвате PySpark, инсталирайте Python

sudo apt install python3

Проверете дали сте инсталирали Python

python3 --version

Стъпка 2. Изтеглете и инсталирайте Spark в машината с драйвери

От страницата Изтегляне на Spark изберете вашата версия, аз избирам най-новата. (в която и да е директория)

curl -O https://apache.claz.org/spark/spark-3.1.1/spark-3.1.1-bin-hadoop3.2.tgz

Разопаковайте го.

tar xvf spark-3.1.1-bin-hadoop3.2.tgz

Сега трябва да видите нова папка spark-3.1.1-bin-hadoop3.2. Преместете тази папка в /opt/spark.

sudo mv spark-3.1.1-bin-hadoop3.2/ /opt/spark

За да стартирате свързан с Spark bash скрипт отвсякъде, добавете свързан PATH към ~/.bashrc

Отворете .bashrc във vim

sudo vim ~/.bashrc

Натиснете i, за да преминете към режим на запис, и добавете следното в края на файла.

export SPARK_HOME=/opt/spark
export PATH=$PATH:$SPARK_HOME/bin:$SPARK_HOME/sbin

Натиснете esc и :, след това въведете wq, за да запазите и да излезете от vim.

Изпълнете следната команда, за да активирате промените.

source ~/.bashrc

Стъпка 3. Конфигурирайте главния възел, дайте IP адрес вместо името на компютъра

Отидете до папката, която съдържа конфигурационни файлове.

cd /opt/spark/conf

Добавете нов файл с име spark-env.sh

sudo vim spark-env.sh

Добавете една променлива

SPARK_MASTER_HOST=192.168.0.1

Заменете 192.168.0.1 с IP адреса на вашия главен възел на Spark.

След това стартирайте главния възел.

start-master.sh

За да го спрете, изпълнете следния скрипт. Това ще бъде полезно за отстраняване на неизправности, ако не свържете работния възел, ще трябва да спрете и стартирате главния възел.

stop-master.sh

Командата start-master.sh също ще стартира уеб страница на възел на възпламеняване, за да покаже основна информация, включваща и двете, и по-късно свързани работни възли. не забравяйте да използвате 8080 порт по подразбиране.

http://<master_ip_address>:8080

Стъпка 4. Настройте работния възел на Spark в друга Linux (Ubuntu) машина

Отворете друга Linux(Ubuntu) машина и повторете стъпка 2. Няма нужда да предприемате Стъпка 3 в работния възел.

Стъпка 5. Свържете Spark worker към главния възел

Продължете да оставате в работната машина, изпълнете следния скрипт, за да свържете главния възел.

start-worker.sh spark://192.168.0.123:7077

Заменете IP адрес 192.168.0.123 с вашия.

Сега обновете основния UI уеб, трябва да видите Alive Workers:1

Ако видите това, имате добър пълен клъстер Spark под ваш контрол.

Свържете Spark от отдалечен PySpark

Можете също да проверите клъстера на Spark, като стартирате връзка от PySpark.

from pyspark.sql import SparkSession
spark = SparkSession.builder.\
        master("spark://192.168.0.123:7077").getOrCreate()
print("spark session created")

Връзки, които са полезни