Курс "Хранение и Обработка больших данны". Лекция...

191
YARN Павел Мезенцев Руководитель отдела банка Тинькофф [email protected]

Upload: pavel-mezentsev

Post on 17-Jul-2015

659 views

Category:

Software


0 download

TRANSCRIPT

Page 1: Курс "Хранение и Обработка больших данны". Лекция 5 YARN

YARN

Павел МезенцевРуководитель отдела банка Тинькофф

[email protected]

Page 2: Курс "Хранение и Обработка больших данны". Лекция 5 YARN

История версий hadoop

Page 3: Курс "Хранение и Обработка больших данны". Лекция 5 YARN

История версий hadoop

● 2004 MapReduce: Simplified Data Processing on Large Clusters

Page 4: Курс "Хранение и Обработка больших данны". Лекция 5 YARN

История версий hadoop

● 2004 MapReduce: Simplified Data Processing on Large Clusters

● 2005 Начало разработки Hadoop

Page 5: Курс "Хранение и Обработка больших данны". Лекция 5 YARN

История версий hadoop

● 2004 MapReduce: Simplified Data Processing on Large Clusters

● 2005 Начало разработки Hadoop● 2007 Передача в ASF

Page 6: Курс "Хранение и Обработка больших данны". Лекция 5 YARN

История версий hadoop

● 2004 MapReduce: Simplified Data Processing on Large Clusters

● 2005 Начало разработки Hadoop● 2007 Передача в ASF● 2009 Версия 0.20

Page 7: Курс "Хранение и Обработка больших данны". Лекция 5 YARN

История версий hadoop

● 2004 MapReduce: Simplified Data Processing on Large Clusters

● 2005 Начало разработки Hadoop● 2007 Передача в ASF● 2009 Версия 0.20● 2011 Версия 1.0

Page 8: Курс "Хранение и Обработка больших данны". Лекция 5 YARN

История версий hadoop

● 2004 MapReduce: Simplified Data Processing on Large Clusters

● 2005 Начало разработки Hadoop● 2007 Передача в ASF● 2009 Версия 0.20● 2011 Версия 1.0● 2013 Версия 2.2

Page 9: Курс "Хранение и Обработка больших данны". Лекция 5 YARN

План лекции

• Архитектура hadoop 1.0

• Архитектура YARN

• Работа приложений на YARN

• Планировщики

• Yarn High Availability

• Roadmap

Page 10: Курс "Хранение и Обработка больших данны". Лекция 5 YARN

План лекции

• Архитектура hadoop 1.0

• Архитектура YARN

• Работа приложений на YARN

• Планировщики

• Yarn High Availability

• Roadmap

Page 11: Курс "Хранение и Обработка больших данны". Лекция 5 YARN
Page 12: Курс "Хранение и Обработка больших данны". Лекция 5 YARN
Page 13: Курс "Хранение и Обработка больших данны". Лекция 5 YARN
Page 14: Курс "Хранение и Обработка больших данны". Лекция 5 YARN
Page 15: Курс "Хранение и Обработка больших данны". Лекция 5 YARN
Page 16: Курс "Хранение и Обработка больших данны". Лекция 5 YARN
Page 17: Курс "Хранение и Обработка больших данны". Лекция 5 YARN
Page 18: Курс "Хранение и Обработка больших данны". Лекция 5 YARN
Page 19: Курс "Хранение и Обработка больших данны". Лекция 5 YARN
Page 20: Курс "Хранение и Обработка больших данны". Лекция 5 YARN
Page 21: Курс "Хранение и Обработка больших данны". Лекция 5 YARN

Недостатки ?

Page 22: Курс "Хранение и Обработка больших данны". Лекция 5 YARN

Недостатки ?

1. только mapReduce

Page 23: Курс "Хранение и Обработка больших данны". Лекция 5 YARN

Недостатки ?

1. только mapReduce

2. неполное использование ресурсов

Page 24: Курс "Хранение и Обработка больших данны". Лекция 5 YARN

Недостатки ?

1. только mapReduce

2. неполное использование ресурсов

3. job tracker — узкое место

Page 25: Курс "Хранение и Обработка больших данны". Лекция 5 YARN

Недостатки ?

1. только mapReduce

2. неполное использование ресурсов

3. job tracker — узкое место

4. single point of failure

Page 26: Курс "Хранение и Обработка больших данны". Лекция 5 YARN

Решение Google

Page 27: Курс "Хранение и Обработка больших данны". Лекция 5 YARN

Решение Google

MapReduce: Simplified Data Processing on Large Clusters

Jeffrey Dean and Sanjay Ghemawat. 2004

Page 28: Курс "Хранение и Обработка больших данны". Лекция 5 YARN

Решение Google● One of the copies of the program is special - the � master. The rest

are workers that are assigned work by the master. ... The master

picks idle workers and assigns each one a map task or a

reduce task.

Page 29: Курс "Хранение и Обработка больших данны". Лекция 5 YARN

Решение Google● One of the copies of the program is special - the master. The rest

are workers that are assigned work by the master. ... The master

picks idle workers and assigns each one a map task or a

reduce task.

● .... The locations of ... pairs on the local disk are passed back to

the master, who is responsible for forwarding these locations to

the reduce workers.

Page 30: Курс "Хранение и Обработка больших данны". Лекция 5 YARN

Решение Google● One of the copies of the program is special �- the master. The rest

are workers that are assigned work by the master. ... The master

picks idle workers and assigns each one a map task or a

reduce task.

● .... The locations of ... pairs on the local disk are passed back to

the master, who is responsible for forwarding these locations to

the reduce workers.

● When a reduce worker is notified by the master about these

locations, it uses remote procedure calls to read the buffered

data from the local disks of the map workers

Page 31: Курс "Хранение и Обработка больших данны". Лекция 5 YARN

Решение Google● One of the copies of the program is special �- the master. The rest

are workers that are assigned work by the master. ... The master

picks idle workers and assigns each one a map task or a

reduce task.

● .... The locations of ... pairs on the local disk are passed back to

the master, who is responsible for forwarding these locations to

the reduce workers.

● When a reduce worker is notified by the master about these

locations, it uses remote procedure calls to read the buffered

data from the local disks of the map workers

● When all map tasks and reduce tasks have been completed, the

master wakes up the user program.

Page 32: Курс "Хранение и Обработка больших данны". Лекция 5 YARN

Устранение недостатков

1. только mapReduce

2. неполное использование ресурсов

3. job tracker — узкое место

4. single point of failure

Page 33: Курс "Хранение и Обработка больших данны". Лекция 5 YARN

Устранение недостатков

1. только mapReduce

2. неполное использование ресурсов

3. job tracker — узкое место

4. single point of failure

Page 34: Курс "Хранение и Обработка больших данны". Лекция 5 YARN

Устранение недостатков

1. только mapReduce

2. неполное использование ресурсов

3. job tracker — узкое место

4. single point of failure

Page 35: Курс "Хранение и Обработка больших данны". Лекция 5 YARN

Устранение недостатков

1. только mapReduce

2. неполное использование ресурсов

3. job tracker — узкое место

4. single point of failure

Page 36: Курс "Хранение и Обработка больших данны". Лекция 5 YARN

Устранение недостатков

1. только mapReduce

2. неполное использование ресурсов

3. job tracker — узкое место

4. single point of failure

?

Page 37: Курс "Хранение и Обработка больших данны". Лекция 5 YARN

Решение Facebook

Page 38: Курс "Хранение и Обработка больших данны". Лекция 5 YARN

Решение Facebook

● Кластер на 100 Pb

Page 39: Курс "Хранение и Обработка больших данны". Лекция 5 YARN

Решение Facebook

● Кластер на 100 Pb● 0.5 Pb в день новых данных

Page 40: Курс "Хранение и Обработка больших данны". Лекция 5 YARN

Решение Facebook

● Кластер на 100 Pb● 0.5 Pb в день новых данных● 60 000 джобов в день

Page 41: Курс "Хранение и Обработка больших данны". Лекция 5 YARN

Решение Facebook

● Кластер на 100 Pb● 0.5 Pb в день новых данных● 60 000 джобов в день● Corona

Page 42: Курс "Хранение и Обработка больших данны". Лекция 5 YARN

Решение Facebook

● Кластер на 100 Pb● 0.5 Pb в день новых данных● 60 000 джобов в день● Corona● Выложено в open source

https://github.com/facebookarchive/hadoop-20/tree/master/src/contrib/corona

Page 43: Курс "Хранение и Обработка больших данны". Лекция 5 YARN
Page 44: Курс "Хранение и Обработка больших данны". Лекция 5 YARN
Page 45: Курс "Хранение и Обработка больших данны". Лекция 5 YARN
Page 46: Курс "Хранение и Обработка больших данны". Лекция 5 YARN
Page 47: Курс "Хранение и Обработка больших данны". Лекция 5 YARN
Page 48: Курс "Хранение и Обработка больших данны". Лекция 5 YARN
Page 49: Курс "Хранение и Обработка больших данны". Лекция 5 YARN
Page 50: Курс "Хранение и Обработка больших данны". Лекция 5 YARN
Page 51: Курс "Хранение и Обработка больших данны". Лекция 5 YARN
Page 52: Курс "Хранение и Обработка больших данны". Лекция 5 YARN

Устранение недостатков

1. только mapReduce

2. неполное использование ресурсов

3. job tracker — узкое место

4. single point of failure

Page 53: Курс "Хранение и Обработка больших данны". Лекция 5 YARN

Устранение недостатков

1. только mapReduce

2. неполное использование ресурсов

3. job tracker — узкое место

4. single point of failure

Page 54: Курс "Хранение и Обработка больших данны". Лекция 5 YARN

Устранение недостатков

1. только mapReduce

2. неполное использование ресурсов

3. job tracker — узкое место

4. single point of failure

Page 55: Курс "Хранение и Обработка больших данны". Лекция 5 YARN

Устранение недостатков

1. только mapReduce

2. неполное использование ресурсов

3. job tracker — узкое место

4. single point of failure

Page 56: Курс "Хранение и Обработка больших данны". Лекция 5 YARN

Устранение недостатков

1. только mapReduce

2. неполное использование ресурсов

3. job tracker — узкое место

4. single point of failure

Page 57: Курс "Хранение и Обработка больших данны". Лекция 5 YARN

План лекции

• Архитектура hadoop 1.0

• Архитектура YARN

• Работа приложений на YARN

• Планировщики

• Yarn High Availability

• Roadmap

Page 58: Курс "Хранение и Обработка больших данны". Лекция 5 YARN

YARNYet Another Resource Negotiator

Page 59: Курс "Хранение и Обработка больших данны". Лекция 5 YARN

YARNYet Another Resource Negotiator

Еще один переговорщик о ресурсах

Page 60: Курс "Хранение и Обработка больших данны". Лекция 5 YARN

25й слайд

Нельзя просто так взять и договориться о ресурсах

Page 61: Курс "Хранение и Обработка больших данны". Лекция 5 YARN
Page 62: Курс "Хранение и Обработка больших данны". Лекция 5 YARN
Page 63: Курс "Хранение и Обработка больших данны". Лекция 5 YARN
Page 64: Курс "Хранение и Обработка больших данны". Лекция 5 YARN
Page 65: Курс "Хранение и Обработка больших данны". Лекция 5 YARN
Page 66: Курс "Хранение и Обработка больших данны". Лекция 5 YARN
Page 67: Курс "Хранение и Обработка больших данны". Лекция 5 YARN
Page 68: Курс "Хранение и Обработка больших данны". Лекция 5 YARN
Page 69: Курс "Хранение и Обработка больших данны". Лекция 5 YARN

Устранение недостатков

1. только mapReduce

2. неполное использование ресурсов

3. job tracker — узкое место

4. single point of failure

Page 70: Курс "Хранение и Обработка больших данны". Лекция 5 YARN

Устранение недостатков

1. только mapReduce

2. неполное использование ресурсов

3. job tracker — узкое место

4. single point of failure

Page 71: Курс "Хранение и Обработка больших данны". Лекция 5 YARN

Устранение недостатков

1. только mapReduce

2. неполное использование ресурсов

3. job tracker — узкое место

4. single point of failure

Page 72: Курс "Хранение и Обработка больших данны". Лекция 5 YARN

Устранение недостатков

1. только mapReduce

2. неполное использование ресурсов

3. job tracker — узкое место

4. single point of failure

Page 73: Курс "Хранение и Обработка больших данны". Лекция 5 YARN

Устранение недостатков

1. только mapReduce

2. неполное использование ресурсов

3. job tracker — узкое место

4. single point of failure

Page 74: Курс "Хранение и Обработка больших данны". Лекция 5 YARN

Resource Manager UI

Page 75: Курс "Хранение и Обработка больших данны". Лекция 5 YARN

Resource Manager UI

Page 76: Курс "Хранение и Обработка больших данны". Лекция 5 YARN

Resource Manager UI

Page 77: Курс "Хранение и Обработка больших данны". Лекция 5 YARN

Resource Manager UI

Page 78: Курс "Хранение и Обработка больших данны". Лекция 5 YARN

Resource Manager UI

Page 79: Курс "Хранение и Обработка больших данны". Лекция 5 YARN

Resource Manager UI

Page 80: Курс "Хранение и Обработка больших данны". Лекция 5 YARN

План лекции

• Архитектура hadoop 1.0

• Архитектура YARN

• Работа приложений на YARN

• Планировщики

• Yarn High Availability

• Roadmap

Page 81: Курс "Хранение и Обработка больших данны". Лекция 5 YARN

Distributed shellhadoop

org.apache.hadoop.yarn.applications.distributedshell.Client \

-debug \

-shell_command find \

-shell_args '`pwd`' \

-jar ${HADOOP_HOME}/share/hadoop/yarn/*distributedshell-

*.jar \

-container_memory 350 \

-master_memory 350 \

-num_containers 3

Page 82: Курс "Хранение и Обработка больших данны". Лекция 5 YARN
Page 83: Курс "Хранение и Обработка больших данны". Лекция 5 YARN
Page 84: Курс "Хранение и Обработка больших данны". Лекция 5 YARN
Page 85: Курс "Хранение и Обработка больших данны". Лекция 5 YARN
Page 86: Курс "Хранение и Обработка больших данны". Лекция 5 YARN
Page 87: Курс "Хранение и Обработка больших данны". Лекция 5 YARN
Page 88: Курс "Хранение и Обработка больших данны". Лекция 5 YARN
Page 89: Курс "Хранение и Обработка больших данны". Лекция 5 YARN

А где же результат?

Page 90: Курс "Хранение и Обработка больших данны". Лекция 5 YARN

А где же результат?

Page 91: Курс "Хранение и Обработка больших данны". Лекция 5 YARN

А где же результат?

Page 92: Курс "Хранение и Обработка больших данны". Лекция 5 YARN

А где же результат?

Page 93: Курс "Хранение и Обработка больших данны". Лекция 5 YARN

А где же результат?

Page 94: Курс "Хранение и Обработка больших данны". Лекция 5 YARN

А где же результат?

yarn.log-aggregation-enable=true

Page 95: Курс "Хранение и Обработка больших данны". Лекция 5 YARN

А где же результат?

yarn.log-aggregation-enable=true

Page 96: Курс "Хранение и Обработка больших данны". Лекция 5 YARN

А где же результат?

● Через yarn cliyarn logs -applicationId \

application_1388248867335_0003

● Через hdfs/tmp/logs/yarn/user/. \

./application/container

Page 97: Курс "Хранение и Обработка больших данны". Лекция 5 YARN

mapReduce на YARN

Page 98: Курс "Хранение и Обработка больших данны". Лекция 5 YARN
Page 99: Курс "Хранение и Обработка больших данны". Лекция 5 YARN
Page 100: Курс "Хранение и Обработка больших данны". Лекция 5 YARN
Page 101: Курс "Хранение и Обработка больших данны". Лекция 5 YARN
Page 102: Курс "Хранение и Обработка больших данны". Лекция 5 YARN
Page 103: Курс "Хранение и Обработка больших данны". Лекция 5 YARN
Page 104: Курс "Хранение и Обработка больших данны". Лекция 5 YARN
Page 105: Курс "Хранение и Обработка больших данны". Лекция 5 YARN
Page 106: Курс "Хранение и Обработка больших данны". Лекция 5 YARN
Page 107: Курс "Хранение и Обработка больших данны". Лекция 5 YARN
Page 108: Курс "Хранение и Обработка больших данны". Лекция 5 YARN
Page 109: Курс "Хранение и Обработка больших данны". Лекция 5 YARN
Page 110: Курс "Хранение и Обработка больших данны". Лекция 5 YARN
Page 111: Курс "Хранение и Обработка больших данны". Лекция 5 YARN
Page 112: Курс "Хранение и Обработка больших данны". Лекция 5 YARN
Page 113: Курс "Хранение и Обработка больших данны". Лекция 5 YARN
Page 114: Курс "Хранение и Обработка больших данны". Лекция 5 YARN
Page 115: Курс "Хранение и Обработка больших данны". Лекция 5 YARN

Совместимость с mr1

● на уровне кода

да● на бинарном уровне

да● на уровне скриптов

hadoop job …

да● на уровне конфигурации

Большинство настроек устарело

Page 116: Курс "Хранение и Обработка больших данны". Лекция 5 YARN

Совместимость с mr1

● на уровне кода

да● на бинарном уровне

да● на уровне скриптов

hadoop job …

да● на уровне конфигурации

Большинство настроек устарело

Page 117: Курс "Хранение и Обработка больших данны". Лекция 5 YARN

Совместимость с mr1

● на уровне кода

да● на бинарном уровне

да● на уровне скриптов

hadoop job …

да● на уровне конфигурации

Большинство настроек устарело

Page 118: Курс "Хранение и Обработка больших данны". Лекция 5 YARN

Совместимость с mr1

● на уровне кода

да● на бинарном уровне

да● на уровне скриптов

hadoop job …

да● на уровне конфигурации

Большинство настроек устарело

Page 119: Курс "Хранение и Обработка больших данны". Лекция 5 YARN

Совместимость с mr1

● на уровне кода

да● на бинарном уровне

да● на уровне скриптов

hadoop job …

да● на уровне конфигурации

Большинство настроек устарело

Page 120: Курс "Хранение и Обработка больших данны". Лекция 5 YARN

Совместимость с mr1

● на уровне кода

да● на бинарном уровне

да● на уровне скриптов

hadoop job …

да● на уровне конфигурации

Большинство настроек устарело

Page 121: Курс "Хранение и Обработка больших данны". Лекция 5 YARN

Совместимость с mr1

● на уровне кода

да● на бинарном уровне

да● на уровне скриптов

hadoop job …

да● на уровне конфигурации

Большинство настроек устарело

Page 122: Курс "Хранение и Обработка больших данны". Лекция 5 YARN

Совместимость с mr1

● на уровне кода

да● на бинарном уровне

да● на уровне скриптов

hadoop job …

да● на уровне конфигурации

Большинство настроек устарело

Page 123: Курс "Хранение и Обработка больших данны". Лекция 5 YARN

Совместимость с mr1

● на уровне кода

да● на бинарном уровне

да● на уровне скриптов

hadoop job …

да● на уровне конфигурации

большинство настроек устарело

Page 124: Курс "Хранение и Обработка больших данны". Лекция 5 YARN

mapReduce uber job

Page 125: Курс "Хранение и Обработка больших данны". Лекция 5 YARN

mapReduce uber job

● Маленькая задача может выполняться целиком в контейнере application master

Page 126: Курс "Хранение и Обработка больших данны". Лекция 5 YARN

mapReduce uber job

● Маленькая задача может выполняться целиком в контейнере application mastermapreduce.job.ubertask.enable=true

Page 127: Курс "Хранение и Обработка больших данны". Лекция 5 YARN

mapReduce uber job

● Маленькая задача может выполняться целиком в контейнере application mastermapreduce.job.ubertask.enable=true

● Ограничения на объем мапперов и размер данных выставляются в конфиге

Page 128: Курс "Хранение и Обработка больших данны". Лекция 5 YARN

mapReduce uber job

● Маленькая задача может выполняться целиком в контейнере application mastermapreduce.job.ubertask.enable=true

● Ограничения на объем мапперов и размер данных выставляются в конфиге

● Не более 1го редьюсера

Page 129: Курс "Хранение и Обработка больших данны". Лекция 5 YARN

Что еще можно запускать?

● MPI● Интерактивные spark● Adhoc запросы impala● Реал тайм обработчики storm● Сервисы

Page 130: Курс "Хранение и Обработка больших данны". Лекция 5 YARN

MPI

● Требуется библиотека mpich2-yarn● Пример запускаhadoop --config ./conf \jar target/mpich2-yarn-1.0-SNAPSHOT.jar \-a mpi_example \-M 1024 \-m 1024 \-n 2

Page 131: Курс "Хранение и Обработка больших данны". Лекция 5 YARN

Интерактивные вычисления

● Spark● Команда запускаpyspark --master yarn --num-executors 3

Page 132: Курс "Хранение и Обработка больших данны". Лекция 5 YARN

Долгоживущие сервисы

Page 133: Курс "Хранение и Обработка больших данны". Лекция 5 YARN

Долгоживущие сервисы

● hBase на yarn

Page 134: Курс "Хранение и Обработка больших данны". Лекция 5 YARN

Долгоживущие сервисы

● hBase на yarn● Apache Slider

Page 135: Курс "Хранение и Обработка больших данны". Лекция 5 YARN

Real time вычисления

Page 136: Курс "Хранение и Обработка больших данны". Лекция 5 YARN

Real time вычисления

● Apache Storm

Page 137: Курс "Хранение и Обработка больших данны". Лекция 5 YARN

Data operating system

Page 138: Курс "Хранение и Обработка больших данны". Лекция 5 YARN

План лекции

• Архитектура hadoop 1.0

• Архитектура YARN

• Работа приложений на YARN

• Планировщики

• Yarn High Availability

• Roadmap

Page 139: Курс "Хранение и Обработка больших данны". Лекция 5 YARN

Планирование задач

Page 140: Курс "Хранение и Обработка больших данны". Лекция 5 YARN

Планирование задач

Page 141: Курс "Хранение и Обработка больших данны". Лекция 5 YARN

Планирование задач

Page 142: Курс "Хранение и Обработка больших данны". Лекция 5 YARN

FIFO scheduler

Page 143: Курс "Хранение и Обработка больших данны". Лекция 5 YARN

Capacity scheduler

Page 144: Курс "Хранение и Обработка больших данны". Лекция 5 YARN

Fair scheduler

Page 145: Курс "Хранение и Обработка больших данны". Лекция 5 YARN

Очереди

Page 146: Курс "Хранение и Обработка больших данны". Лекция 5 YARN

Очереди

● Распределение ресурсов происходит

между очередями

Page 147: Курс "Хранение и Обработка больших данны". Лекция 5 YARN

Очереди

● Распределение ресурсов происходит

между очередями

● По умолчанию имя очереди =

имени пользователя

Page 148: Курс "Хранение и Обработка больших данны". Лекция 5 YARN

Очереди

● Распределение ресурсов происходит

между очередями

● По умолчанию имя очереди =

имени пользователя

● У очередей есть веса

Page 149: Курс "Хранение и Обработка больших данны". Лекция 5 YARN

Очереди

● Распределение ресурсов происходит

между очередями

● По умолчанию имя очереди =

имени пользователя

● У очередей есть веса

● Дочерние очереди

Page 150: Курс "Хранение и Обработка больших данны". Лекция 5 YARN

Очереди

● Распределение ресурсов происходит

между очередями

● По умолчанию имя очереди =

имени пользователя

● У очередей есть веса

● Дочерние очереди

root.dev => root.dev.science

Page 151: Курс "Хранение и Обработка больших данны". Лекция 5 YARN

Очереди

● Если в одной очереди 2 задачи?

Page 152: Курс "Хранение и Обработка больших данны". Лекция 5 YARN

Очереди

● Если в одной очереди 2 задачи?

● fifo

Page 153: Курс "Хранение и Обработка больших данны". Лекция 5 YARN

Очереди

● Если в одной очереди 2 задачи?

● fifo

● fair

Page 154: Курс "Хранение и Обработка больших данны". Лекция 5 YARN

Очереди

● Если в одной очереди 2 задачи?

● fifo

● fair

● drf

Page 155: Курс "Хранение и Обработка больших данны". Лекция 5 YARN

Dominant resource fairness

Кластер 100 Gb 100 Cores

Контейнеры приложения А 3 гб 3% 2 cores 2%

Page 156: Курс "Хранение и Обработка больших данны". Лекция 5 YARN

Dominant resource fairness

Кластер 100 Gb 100 Cores

Контейнеры приложения А 3 Gb 2 cores

Page 157: Курс "Хранение и Обработка больших данны". Лекция 5 YARN

Dominant resource fairness

Кластер 100 Gb 100 Cores

Контейнеры приложения А 3 Gb 3% 2 cores 2%

Page 158: Курс "Хранение и Обработка больших данны". Лекция 5 YARN

Dominant resource fairness

Кластер 100 Gb 100 Cores

Контейнеры приложения А 3 Gb 3% 2 cores 2%

Контейнеры приложения B 1 Gb 6 cores

Page 159: Курс "Хранение и Обработка больших данны". Лекция 5 YARN

Dominant resource fairness

Кластер 100 Gb 100 Cores

Контейнеры приложения А 3 Gb 3% 2 cores 2%

Контейнеры приложения B 1 Gb 1% 6 cores 6%

Page 160: Курс "Хранение и Обработка больших данны". Лекция 5 YARN

Dominant resource fairness

Кластер 100 Gb 100 Cores

Контейнеры приложения А 3 Gb 3% 2 cores 2%

Контейнеры приложения B 1 Gb 1% 6 cores 6%

Page 161: Курс "Хранение и Обработка больших данны". Лекция 5 YARN

Dominant resource fairness

Кластер 100 Gb 100 Cores

Контейнеры приложения А 3 Gb 3% 2 cores 2%

Контейнеры приложения B 1 Gb 1% 6 cores 6%

Page 162: Курс "Хранение и Обработка больших данны". Лекция 5 YARN

Dominant resource fairness

приложение A получит в 2 раза больше контейнеров

Кластер 100 Gb 100 Cores

Контейнеры приложения А 3 Gb 3% 2 cores 2%

Контейнеры приложения B 1 Gb 1% 6 cores 6%

Page 163: Курс "Хранение и Обработка больших данны". Лекция 5 YARN

Preemption

Page 164: Курс "Хранение и Обработка больших данны". Лекция 5 YARN

Preemption

Page 165: Курс "Хранение и Обработка больших данны". Лекция 5 YARN

Preemption

Page 166: Курс "Хранение и Обработка больших данны". Лекция 5 YARN

Preemption

Page 167: Курс "Хранение и Обработка больших данны". Лекция 5 YARN

Preemption

Page 168: Курс "Хранение и Обработка больших данны". Лекция 5 YARN

Preemption

Page 169: Курс "Хранение и Обработка больших данны". Лекция 5 YARN

Delay● Для map задач требуется data locality

Page 170: Курс "Хранение и Обработка больших данны". Лекция 5 YARN

Delay● Для map задач требуется data locality

● Что лучше?

Page 171: Курс "Хранение и Обработка больших данны". Лекция 5 YARN

Delay● Для map задач требуется data locality

● Что лучше?

● Запустить сейчас на свободной машине

Page 172: Курс "Хранение и Обработка больших данны". Лекция 5 YARN

Delay● Для map задач требуется data locality

● Что лучше?

● Запустить сейчас на свободной машине

● Ждать место на машине с данными

Page 173: Курс "Хранение и Обработка больших данны". Лекция 5 YARN

Delay● Для map задач требуется data locality

● Что лучше?

● Запустить сейчас на свободной машине

● Ждать место на машине с данными

● Ждет пока заданный процент машин

не пришлет сообщение о готовности

Page 174: Курс "Хранение и Обработка больших данны". Лекция 5 YARN

Delay● Для map задач требуется data locality

● Что лучше?

● Запустить сейчас на свободной машине

● Ждать место на машине с данными

● Ждет пока заданный процент машин

не пришлет сообщение о готовности

● По умолчанию 50% машин кластера

Page 175: Курс "Хранение и Обработка больших данны". Лекция 5 YARN

План лекции

• Архитектура hadoop 1.0

• Архитектура YARN

• Работа приложений на YARN

• Планировщики

• Yarn High Availability

• Roadmap

Page 176: Курс "Хранение и Обработка больших данны". Лекция 5 YARN

Как защититься от падения Resource Manager

● High Availability!● Появилось в Hadoop 2.4

Page 177: Курс "Хранение и Обработка больших данны". Лекция 5 YARN
Page 178: Курс "Хранение и Обработка больших данны". Лекция 5 YARN
Page 179: Курс "Хранение и Обработка больших данны". Лекция 5 YARN
Page 180: Курс "Хранение и Обработка больших данны". Лекция 5 YARN
Page 181: Курс "Хранение и Обработка больших данны". Лекция 5 YARN
Page 182: Курс "Хранение и Обработка больших данны". Лекция 5 YARN
Page 183: Курс "Хранение и Обработка больших данны". Лекция 5 YARN
Page 184: Курс "Хранение и Обработка больших данны". Лекция 5 YARN
Page 185: Курс "Хранение и Обработка больших данны". Лекция 5 YARN

План лекции

• Архитектура hadoop 1.0

• Архитектура YARN

• Работа приложений на YARN

• Планировщики

• Yarn High Availability

• Roadmap

Page 186: Курс "Хранение и Обработка больших данны". Лекция 5 YARN

ROADMAP

Page 187: Курс "Хранение и Обработка больших данны". Лекция 5 YARN

ROADMAP

● Накатываемые апгрейды

Page 188: Курс "Хранение и Обработка больших данны". Лекция 5 YARN

ROADMAP

● Накатываемые апгрейды● Поддержка Docker контейнеров

Page 189: Курс "Хранение и Обработка больших данны". Лекция 5 YARN

ROADMAP

● Накатываемые апгрейды● Поддержка Docker контейнеров● Диск как ресурс

Page 190: Курс "Хранение и Обработка больших данны". Лекция 5 YARN

ROADMAP

● Накатываемые апгрейды● Поддержка Docker контейнеров● Диск как ресурс● Конфигурируемая топология

Page 191: Курс "Хранение и Обработка больших данны". Лекция 5 YARN

ROADMAP

● Накатываемые апгрейды● Поддержка Docker контейнеров● Диск как ресурс● Конфигурируемая топология● Планирование по лейблам