Това е списък с действия за инсталиране на 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")
Връзки, които са полезни
- Как да SSH към WSL2 на Windows 10 от външна машина За да не „наистина“ трябва да сменям машини, седя на един стол и свършвам всичко.
- Инсталация на искра
- Spark Standalone Mode
- spark worker не се свързва с master
- Инсталиране на Apache Spark на Ubuntu 20.04/18.04 и Debian 10/9