Это список действий для установки мастера (или драйвера) Spark с открытым исходным кодом и рабочего процесса в локальном 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 download выбираю свою версию, я выбираю самую новую. (в любом каталоге)

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

Чтобы запустить сценарий bash, связанный с Spark, из любого места, добавьте связанный 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 на свой.

Теперь обновите главный веб-интерфейс пользовательского интерфейса, вы должны увидеть 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")

Полезные ссылки