Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.

...

Документация: https://docs.docker.com/

docker-cosmpose - https://docs.docker.com/compose/install/

Hadoop

Hadoop – это свободно распространяемый набор утилит, библиотек и фреймворк для разработки и выполнения распределённых программ, работающих на кластерах из сотен и тысяч узлов. Эта основополагающая технология хранения и обработки больших данных (Big Data) является проектом верхнего уровня фонда Apache Software Foundation.

...

В итоге в директории build/release/ появится файл hue-4.10.0.tgz

Сборка образов

Spark cluster

Сборка и запуск

Структура директорий и файлы для сборки и запуска лежат в spark_cluster.zip

docker-compose.yml содержит инструкции и для сборки и для запуска. Команда 

Блок кода
docker-compose up

скачает с docker hub нужные образы, соберет из них образ spark-а (версия 3.1.2) и запустит кластер.

Spark консоль мастер ноды поднимется по адресу http://docker_host_machine:9090

Запуск с удаленной машины

Чтобы запустить spark application на удаленном кластере создаем SparkSession:

Блок кода
languagescala
val spark = SparkSession
      .builder
      .master("spark://cluster_ip:7077")
      .config("spark.driver.host", InetAddress.getLocalHost.getHostAddress)
      .config("spark.sql.warehouse.dir", "/opt/spark-data/warehouse")
      .appName("Spark Application")
      .getOrCreate()


Информация
  1. В качестве cluster_ip указываем ip адрес хост машины, где поднят кластер. При деплое этого job-а нужно будет убрать эту строку кода
  2. В качестве узла драйвера указывается наша локальная машина. При деплое этого job-а нужно будет убрать эту строку кода.


Деплой spark job-а на кластер

Для этого нужно скопировать jar-ник с spark job-ом на развернутый кластер.

Для этого нужно положить его в директорию apps, к которой примонтирован volume на путь /opt/spark-apps/ во всех нодах кластера.

Далее запускаем spark-submit:

Блок кода
/opt/spark/bin/spark-submit \
    --master spark://spark-master:7077 \
    --driver-memory 4G --executor-memory 4G \
    --class full_qualified_class_name \
    /opt/spark-apps/file_name_of_your_jar.jar


Hadoop cluster

Сборка и запуск

Структура директорий и файлы для сборки и запуска лежат в hadoop3.zip

docker-compose.yml содержит инструкции и для сборки и для запуска. Команда 

Блок кода
docker-compose up

скачает с docker hub нужные образы, соберет из них образ и запустит hadoop кластер. Кластер содержит развернутый hadoop 3.2.0, hive 3.1.0, spark 3.1.2

YARN консоль поднимется на http://docker_host_machine:8088

Работа с компонентами кластера

Работать с компонентами кластера предполагается из командой строки. Сборки и данные можно выкладывать в директорию config. Директория примонтирована на путь /var/input.

Блок кода
#запуск консоли hive
docker exec -it spark3_hive3_1 /bin/bash
hive

#засабмитить spark job
docker exec -it spark3_hive3_1 /bin/bash
spark-submit \
    --driver-memory 4G --executor-memory 4G \
    --class full_qualified_class_name \
    /var/input/file_name_of_your_jar.jar