Это список действий для установки мастера (или драйвера) 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")
Полезные ссылки
- Как подключиться по SSH к WSL2 на Windows 10 с внешнего компьютера Чтобы мне не нужно перекладывать машины, я сижу в одном кресле и делаю все.
- Искровая установка
- Автономный режим Spark
- Искровый рабочий не подключается к мастеру
- Установите Apache Spark в Ubuntu 20.04 / 18.04 и Debian 10/9