23
Как сделать свой кластер Hadoop/Spark Андрей Созыкин Заведующий кафедрой высокопроизводительных компьютерных технологий Институт математики и компьютерных наук УрФУ Заведующий отделом вычислительной техники ИММ УРО РАН

Андрей Созыкин — ИММ УрО РАН — ICDBA2016

  • Upload
    rusbase

  • View
    613

  • Download
    2

Embed Size (px)

Citation preview

Page 1: Андрей Созыкин — ИММ УрО РАН — ICDBA2016

Как сделать свой кластер Hadoop/Spark

Андрей Созыкин

Заведующий кафедрой высокопроизводительных компьютерных технологийИнститут математики и компьютерных наук УрФУ

Заведующий отделом вычислительной техники ИММ УРО РАН

Page 2: Андрей Созыкин — ИММ УрО РАН — ICDBA2016

2

Как сделать свой кластер Hadoop/Spark Андрей Созыкин

Архитектура кластера

Сеть Ethernet/10G Ethernet

CPU CPU

CPU CPU

CPU CPU

CPU CPU

CPU CPU

CPU CPU

CPU CPU

CPU CPU

Узел кластера Узел кластера Узел кластера Узел кластера

HDFS

Page 3: Андрей Созыкин — ИММ УрО РАН — ICDBA2016

3

Как сделать свой кластер Hadoop/Spark Андрей Созыкин

Отличия кластераМного пользователейПакетный режим работы

Page 4: Андрей Созыкин — ИММ УрО РАН — ICDBA2016

4

Как сделать свой кластер Hadoop/Spark Андрей Созыкин

Менеджер ресурсов

Сеть Ethernet/10G Ethernet

CPU CPU

CPU CPU

CPU CPU

CPU CPU

CPU CPU

CPU CPU

CPU CPU

CPU CPU

HDFS

Очередь задач…

Page 5: Андрей Созыкин — ИММ УрО РАН — ICDBA2016

5

Как сделать свой кластер Hadoop/Spark Андрей Созыкин

Отличия кластераМного пользователейПакетный режим работыМенеджеры ресурсов:

• Hadoop YARN (Yet Another Resource Negotiator)• Apache Mesos• Встроенный менеджер ресурсов в Apache Spark

Page 6: Андрей Созыкин — ИММ УрО РАН — ICDBA2016

6

Как сделать свой кластер Hadoop/Spark Андрей Созыкин

Что нам нужно для кластераМенеджер ресурсовРаспределенная файловая система HDFSСлужбы запуска приложений:

• Hadoop MapReduce• Apache Spark

Дополнительные продукты из экосистем:• Apache Hive• Apache Pig• Apache Zookeeper• Spark SQL• MLlib

Page 7: Андрей Созыкин — ИММ УрО РАН — ICDBA2016

7

Как сделать свой кластер Hadoop/Spark Андрей Созыкин

Как устанавливатьОтдельные компоненты:

• Hadoop - hadoop.apache.org• Spark - spark.apache.org• Hive - hive.apache.org• Mesos - mesos.apache.org

Page 8: Андрей Созыкин — ИММ УрО РАН — ICDBA2016

8

Как сделать свой кластер Hadoop/Spark Андрей Созыкин

Как устанавливатьОтдельные компоненты:

• Hadoop - hadoop.apache.org• Spark - spark.apache.org• Hive - hive.apache.org• Mesos - mesos.apache.org

Готовые дистрибутивы:• Cloudera - www.cloudera.com• Hortonworks - hortonworks.com• MapR- www.mapr.com

Page 9: Андрей Созыкин — ИММ УрО РАН — ICDBA2016

9

Как сделать свой кластер Hadoop/Spark Андрей Созыкин

Cloudera Distribution for Hadoop (CDH)

Page 10: Андрей Созыкин — ИММ УрО РАН — ICDBA2016

10

Как сделать свой кластер Hadoop/Spark Андрей Созыкин

ОборудованиеСерверы 1-2U

• Персональные компьютеры, ноутбуки и т.п.Процессоры:

• Intel 4-16 ядер• «Средний» уровень

Жесткие диски:• 2 для ОС (зеркало)• 2-24 для данных (JBOD)• Желательно одинаковой емкости

Сеть Ethernet:• 1 Гб/с – сервер с 4-8 дисками• 10 Гб/с – сервер с 10 и более дисками

Page 11: Андрей Созыкин — ИММ УрО РАН — ICDBA2016

11

Как сделать свой кластер Hadoop/Spark Андрей Созыкин

Перед установкойРазрешение полных имен хостов (FQDN) на всех узлах кластера

• DNS• /etc/hosts

Одинаковое время на всех узлах:• ntp

Page 12: Андрей Созыкин — ИММ УрО РАН — ICDBA2016

12

Как сделать свой кластер Hadoop/Spark Андрей Созыкин

Способы установки CDHАвтоматическая установка с помощью GUI Cloudera Manager:

• Oracle JDK• Cloudera Manager Server и Agents• База данных сервисов Cloudera embedded PostgreSQL• Cloudera Distribution for Hadoop• Сервисы на узлах кластера• Роли узлов кластера (HDFS Name Node и Data Node, Resource Manager,

Node Manager и т.п.)• Автоматическая настройка и конфигурирование базы данных Cloudera• Кластеры для разработчиков и демонстрационные

Ручная установка c помощью пакетов Cloudera Manager:• Для продуктивных кластеров

Page 13: Андрей Созыкин — ИММ УрО РАН — ICDBA2016

13

Как сделать свой кластер Hadoop/Spark Андрей Созыкин

УстановкаУстановить Cloudera Manager на компьютер, который будет выполнять роль Cloudera Manager Server:

• http://www.cloudera.com/downloads/manager

Page 14: Андрей Созыкин — ИММ УрО РАН — ICDBA2016

14

Как сделать свой кластер Hadoop/Spark Андрей Созыкин

Cloudera Manager ConsoleЗапуск Cloudera Manager Console

• http://cmserver-host:7180• admin:admin

Page 15: Андрей Созыкин — ИММ УрО РАН — ICDBA2016

15

Как сделать свой кластер Hadoop/Spark Андрей Созыкин

Установка на узлы кластера

Page 16: Андрей Созыкин — ИММ УрО РАН — ICDBA2016

16

Как сделать свой кластер Hadoop/Spark Андрей Созыкин

Установка на узлы кластера

Page 17: Андрей Созыкин — ИММ УрО РАН — ICDBA2016

17

Как сделать свой кластер Hadoop/Spark Андрей Созыкин

Установка на узлы кластера

Page 18: Андрей Созыкин — ИММ УрО РАН — ICDBA2016

18

Как сделать свой кластер Hadoop/Spark Андрей Созыкин

Установка на узлы кластера

Page 19: Андрей Созыкин — ИММ УрО РАН — ICDBA2016

19

Как сделать свой кластер Hadoop/Spark Андрей Созыкин

Мониторинг в Cloudera Manager

Page 20: Андрей Созыкин — ИММ УрО РАН — ICDBA2016

20

Как сделать свой кластер Hadoop/Spark Андрей Созыкин

Кластер в облакеAmazon Elastic Map Reduce

• https://aws.amazon.com/emr/ Google Cloud Dataproc

• https://cloud.google.com/dataproc/Microsoft HDInsight

• https://azure.microsoft.com/en-us/services/hdinsight/

Page 21: Андрей Созыкин — ИММ УрО РАН — ICDBA2016

21

Как сделать свой кластер Hadoop/Spark Андрей Созыкин

Кластер не продуктивный!Безопасность

• Получить доступ ко всем данным в HDFS:export HADOOP_USER_NAME=hdfs

• Решение – использовать KerberosОптимизация производительности:

• Параметры ядра ОС• Параметры файловой системы• Параметры Hadoop/MapReduce/HDFS

ОтказоустойчивостьРезервное копированиеАвтоматизация администрирования:

• Chef• Puppet• Ansible

Page 22: Андрей Созыкин — ИММ УрО РАН — ICDBA2016

22

Как сделать свой кластер Hadoop/Spark Андрей Созыкин

Кластер не продуктивный!Безопасность

• Получить доступ ко всем данным в HDFS:export HADOOP_USER_NAME=hdfs

• Решение – использовать KerberosОптимизация производительности:

• Параметры ядра ОС• Параметры файловой системы• Параметры Hadoop/MapReduce/HDFS

ОтказоустойчивостьРезервное копированиеАвтоматизация администрирования:

• Chef• Puppet• Ansible

Первое издание – 2012Второе издание – октябрь 2018

Page 23: Андрей Созыкин — ИММ УрО РАН — ICDBA2016

23

Как сделать свой кластер Hadoop/Spark Андрей Созыкин

Спасибо за внимание!

КонтактыАндрей Созыкин[email protected] www.asozykin.ru