Как установить Apache Spark на Ubuntu 20.04
На этой странице
- Предпосылки
- Начало работы
- Установить Java
- Установить Скала
- Установите Apache Spark
- Запустить главный сервер Spark
- Запуск рабочего процесса Spark
- Работа с Spark Shell
- Заключение
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. Не стесняйтесь спрашивать меня, если у вас есть какие-либо вопросы.