Тематический план
-
-
Команды
Сборка проекта: docker-compose build
Запуск: docker-compose up -d
Остановка: docker-compose stop
Удаление: docker-compose down -v
Для нормальной работы гиперссылок необходимо добавить в файл hosts (C:/windows/system32/drivers/etc/hosts на windows и /etc/hosts на Linux) все строчки из файла hosts в архиве.
Веб-сервисы
Доступны после запуска проекта docker-compose
- http://localhost:9870/ - информация о Hadoop кластере
- http://localhost:8088/ - менеджер ресурсов, отображающий выполняющиеся задачи (после завершения содержит ссылки на сервер истории, который уже устарел и не используется)
- http://localhost:8188/ - новый сервер истории задач Timeline server (полезно смотреть для отладки)
Команды работы с файловой системой HDFS
Папка share является общей у хоста и докер-контейнера namenode.
docker-compose exec namenode bash - запуск командной оболочки внутри докер-контейнера главного узла namenode (рабочая папка - /share)
hdfs dfs -mkdir -p /user/root - создание домашней папки пользователя в HDFS (она изначально отсутствует)
hdfs dfs -rm -r путь - удалить папку/файл
hdfs dfs -put что куда - загрузка файлов/папок в HDFS (если "куда" не указано, то загрузится в /user/root)
hdfs dfs -get что куда - скачивание файлов/папок из HDFS (если "куда" не указано, то загрузится в текущую папку)
hdfs dfs -ls путь - вывести список файлов в папке на экран
hdfs dfs -cat файл - вывести содержимое файла на экран
Работа с задачами Hadoop-кластера
yarn jar jar-файл аргументы - запуск MapReduce задачи в виде jar-файла (аналог старой команды hadoop jar)
mapred streaming -input путь -output путь -mapper mapper.py -reducer reducer.py -file mapper.py -file reducer.py - запуск MapReduce задания (вместо mapper.py и reducer.py можно указать любой исполняемый файл).
Если вам понадобятся нестандартный python-библиотеки, их нужно будет сначала установить внутри докер-контейнера nodemanager командой docker-compose exec nodemanager pip install библиотека.
yarn application -list - список запущенных заданий (первый столбец содержит идентификатор задачи)
yarn application -kill идентификатор - принудительная остановка задания (Ctrl C не останавливает MapReduce задачу)
-
-
- Распределенная файловая система HDFS
- Фреймворк распределенных вычислений MapReduce: архитектура, программирование, шаблоны проектирования
-
- Архитектура кластера Spark
- Особенности программирования:
- функциональный подход
- чистые функции
- ленивые вычисления, функции-трансформации и функции-действия
- DAG
- Stages
- PySpark: SaprkContext, parallelize, map, collect, лямбда-функции
- Данные: формат, распределенные хранилища
- Работа со Spark-датафреймами
- Spark SQL, RDD
- Развертывание Spark-кластеров на облачных сервисах
- Отладка Spark-кода: аккумуляторы и общие переменные
- Оптимизация, перекосы в данных
- Методы машинного обучения в Spark
-