Поиск по сайту:

Как установить Apache Spark на Ubuntu 20.04


На этой странице

  1. Предпосылки
  2. Начало работы
  3. Установить Java
  4. Установить Скала
  5. Установите Apache Spark
  6. Запустить главный сервер Spark
  7. Запуск рабочего процесса Spark
  8. Работа с Spark Shell
  9. Заключение

Apache Spark — это платформа с открытым исходным кодом и система кластерных вычислений общего назначения. Spark предоставляет высокоуровневые API-интерфейсы на Java, Scala, Python и R, которые поддерживают общие графы выполнения. Он поставляется со встроенными модулями, используемыми для потоковой передачи, SQL, машинного обучения и обработки графов. Он способен анализировать большой объем данных, распределять их по кластеру и обрабатывать данные параллельно.

В этом руководстве мы объясним, как установить стек кластерных вычислений Apache Spark в Ubuntu 20.04.

Предпосылки

  • Сервер с Ubuntu 20.04.
  • Пароль root настраивается на сервере.

Начиная

Во-первых, вам нужно будет обновить системные пакеты до последней версии. Вы можете обновить их все с помощью следующей команды:

apt-get update -y

Как только все пакеты будут обновлены, вы можете перейти к следующему шагу.

Установить Java

Apache Spark — это приложение на основе Java. Поэтому Java должна быть установлена в вашей системе. Вы можете установить его с помощью следующей команды:

apt-get install default-jdk -y

После установки Java проверьте установленную версию Java с помощью следующей команды:

java --version

Вы должны увидеть следующий вывод:

openjdk 11.0.8 2020-07-14
OpenJDK Runtime Environment (build 11.0.8+10-post-Ubuntu-0ubuntu120.04)
OpenJDK 64-Bit Server VM (build 11.0.8+10-post-Ubuntu-0ubuntu120.04, mixed mode, sharing)

Установить Скала

Apache Spark разработан с использованием Scala. Поэтому вам нужно будет установить Scala в вашей системе. Вы можете установить его с помощью следующей команды:

apt-get install scala -y

После установки Скала. Вы можете проверить версию Scala с помощью следующей команды:

scala -version

Вы должны увидеть следующий вывод:

Scala code runner version 2.11.12 -- Copyright 2002-2017, LAMP/EPFL

Теперь подключитесь к интерфейсу Scala с помощью следующей команды:

scala

Вы должны получить следующий результат:

Welcome to Scala 2.11.12 (OpenJDK 64-Bit Server VM, Java 11.0.8).
Type in expressions for evaluation. Or try :help.

Теперь протестируйте Scala с помощью следующей команды:

scala> println("Hitesh Jethva")

Вы должны получить следующий результат:

Hitesh Jethva

Установить Апач Спарк

Во-первых, вам нужно будет загрузить последнюю версию Apache Spark с официального сайта. На момент написания этого руководства последняя версия Apache Spark — 2.4.6. Вы можете загрузить его в каталог /opt с помощью следующей команды:

cd /opt
wget https://archive.apache.org/dist/spark/spark-2.4.6/spark-2.4.6-bin-hadoop2.7.tgz

После загрузки извлеките загруженный файл с помощью следующей команды:

tar -xvzf spark-2.4.6-bin-hadoop2.7.tgz

Затем переименуйте извлеченный каталог в spark, как показано ниже:

mv spark-2.4.6-bin-hadoop2.7 spark

Далее вам нужно будет настроить среду Spark, чтобы вы могли легко запускать команды Spark. Вы можете настроить его, отредактировав файл .bashrc:

nano ~/.bashrc

Добавьте в конец файла следующие строки:

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

Сохраните и закройте файл, затем активируйте среду с помощью следующей команды:

source ~/.bashrc

Запустите главный сервер Spark

На этом этапе Apache Spark установлен и настроен. Теперь запустите главный сервер Spark с помощью следующей команды:

start-master.sh

Вы должны увидеть следующий вывод:

starting org.apache.spark.deploy.master.Master, logging to /opt/spark/logs/spark-root-org.apache.spark.deploy.master.Master-1-ubunt4.out

По умолчанию Spark прослушивает порт 8080. Вы можете проверить это с помощью следующей команды:

ss -tpln | grep 8080

Вы должны увидеть следующий вывод:

LISTEN   0        1                               *:8080                *:*      users:(("java",pid=4930,fd=249))   

Теперь откройте веб-браузер и войдите в веб-интерфейс Spark, используя URL-адрес http://your-server-ip:8080. Вы должны увидеть следующий экран:

Запустить рабочий процесс Spark

Как видите, основная служба Spark работает по адресу spark://your-server-ip:7077. Таким образом, вы можете использовать этот адрес для запуска рабочего процесса Spark с помощью следующей команды:

start-slave.sh spark://your-server-ip:7077

Вы должны увидеть следующий вывод:

starting org.apache.spark.deploy.worker.Worker, logging to /opt/spark/logs/spark-root-org.apache.spark.deploy.worker.Worker-1-ubunt4.out

Теперь перейдите на панель инструментов Spark и обновите экран. Вы должны увидеть рабочий процесс Spark на следующем экране:

Работа со Spark Shell.

Вы также можете подключить сервер Spark с помощью командной строки. Вы можете подключить его с помощью команды spark-shell, как показано ниже:

spark-shell

После подключения вы должны увидеть следующий вывод:

WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by org.apache.spark.unsafe.Platform (file:/opt/spark/jars/spark-unsafe_2.11-2.4.6.jar) to method java.nio.Bits.unaligned()
WARNING: Please consider reporting this to the maintainers of org.apache.spark.unsafe.Platform
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
20/08/29 14:35:07 WARN NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
Using Spark's default log4j profile: org/apache/spark/log4j-defaults.properties
Setting default log level to "WARN".
To adjust logging level use sc.setLogLevel(newLevel). For SparkR, use setLogLevel(newLevel).
Spark context Web UI available at http://ubunt4:4040
Spark context available as 'sc' (master = local[*], app id = local-1598711719335).
Spark session available as 'spark'.
Welcome to
      ____              __
     / __/__  ___ _____/ /__
    _\ \/ _ \/ _ `/ __/  '_/
   /___/ .__/\_,_/_/ /_/\_\   version 2.4.6
      /_/
         
Using Scala version 2.11.12 (OpenJDK 64-Bit Server VM, Java 11.0.8)
Type in expressions to have them evaluated.
Type :help for more information.

scala> 

Если вы хотите использовать Python в Spark. Вы можете использовать утилиту командной строки pyspark.

Сначала установите Python версии 2 с помощью следующей команды:

apt-get install python -y

После установки вы можете подключить Spark с помощью следующей команды:

pyspark

После подключения вы должны получить следующий вывод:

Python 2.7.18rc1 (default, Apr  7 2020, 12:05:55) 
[GCC 9.3.0] on linux2
Type "help", "copyright", "credits" or "license" for more information.
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by org.apache.spark.unsafe.Platform (file:/opt/spark/jars/spark-unsafe_2.11-2.4.6.jar) to method java.nio.Bits.unaligned()
WARNING: Please consider reporting this to the maintainers of org.apache.spark.unsafe.Platform
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
20/08/29 14:36:40 WARN NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
Using Spark's default log4j profile: org/apache/spark/log4j-defaults.properties
Setting default log level to "WARN".
To adjust logging level use sc.setLogLevel(newLevel). For SparkR, use setLogLevel(newLevel).
Welcome to
      ____              __
     / __/__  ___ _____/ /__
    _\ \/ _ \/ _ `/ __/  '_/
   /__ / .__/\_,_/_/ /_/\_\   version 2.4.6
      /_/

Using Python version 2.7.18rc1 (default, Apr  7 2020 12:05:55)
SparkSession available as 'spark'.
>>> 

Если вы хотите остановить главный и подчиненный сервер. Вы можете сделать это с помощью следующей команды:

stop-slave.sh
stop-master.sh

Заключение

Поздравляем! вы успешно установили Apache Spark на сервер Ubuntu 20.04. Теперь вы сможете выполнить базовые тесты, прежде чем приступить к настройке кластера Spark. Не стесняйтесь спрашивать меня, если у вас есть какие-либо вопросы.