...
Документация: 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:
Блок кода | ||
---|---|---|
| ||
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() |
Информация |
---|
|
Деплой 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 |