Как настроить mapred.tasktracker.reduce.tasks.maximum - PullRequest
0 голосов
/ 07 февраля 2019

Я пытаюсь настроить эти 3 конфига из файла mapred-site.xml Hadoop:

  • mapred.tasktracker.map.tasks.maximum
  • mapred.tasktracker.reduce.tasks.maximum
  • mapred.reduce.tasks

Я работаю на Hadoop 2.0.0-cdh4.3.0, mapreduce 0,20.YARN не установлен.

Каждый узел данных имеет 2 физических процессора, по 22 ядра в каждом.Таким образом, каждое из них имеет 44 физических ядра или 88 виртуальных с момента включения HyperThreading.

Из книги «Оптимизация Hadoop для MapReduce» у меня есть такой расчет: mapred.tasktracker.map.tasks.maximum = (количество физических ядер - зарезервированные ядра (1 для TaskTracker, 1 для HDFS)) * Коэффициент гипер-нитей от 120% до 170%.

, поэтому в моем случае:

  • mapred.tasktracker.map.tasks.maximum = (44 - 2) * 1.2 = 50 (округлено в меньшую сторону)

  • затем для расчета mapred.tasktracker.reduce.tasks.maximum Книга рекомендует умножить это значение на 2/3, поэтому mapred.tasktracker.reduce.tasks.maximum = 50 * 2/3 = 33 (округлено в меньшую сторону)

  • для mapred.reduce.tasks книга рекомендует "от 50 до 99 процентов емкости кластера".У меня 37 датододов, и я буду использовать 95%.Так mapred.reduce.tasks = (37 * .95) - 35 (округлено в меньшую сторону)

    1. Таким образом, максимальные картографы для каждой датоды (mapred.tasktracker.map.tasks.maximum)) будет 50, максимальное число редукторов на каждую датодуду (mapred.tasktracker.reduce.tasks.maximum) будет равно 33, а уменьшение по умолчанию для каждого задания (mapred.reduce.tasks) будет равно 35.

    ^Это хорошая конфигурация для производительности для моей установки?

  • Я хочу убедиться, что мои датододы будут обрабатывать новые значения в # 1.В настоящее время из vmstat (см. Раздел кода ниже) показывается 30k + прерываний в секунду, и моя книга говорит, что что-нибудь> 1k уже активно используется.Если бы я поднял конфиги до значений в # 1, я бы слишком сильно давил на процессор?Или, может быть, дополнительная загрузка процессора будет минимальной, так как она будет распределена по большему количеству узлов данных?Если это поможет, у меня есть токовый выход от top, а также для получения дополнительной информации.

Если вам нужна дополнительная информация, пожалуйста, дайте мне знать

$ vmstat -S M 1
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy         id wa st
 3  0      0   3065   2261 441408    0    0   497   744    0    0    10  1 87  1  0
 3  0      0   2964   2261 441512    0    0 43148 67808 32989 38283  3  1 97  0  0
 5  1      0   2900   2261 441571    0    0 50424 97012 30685 30832  4  0 95  0  0
 2  1      0   2795   2261 441685    0    0 43564 101632 42614 45709  3  1 95  1  0
 3  0      0   2766   2261 441703    0    0 47772 12492 35291 39281  4  1 95  0  0


$ top -M
top - 23:19:05 up 128 days,  8:07,  1 user,  load average: 5.68, 6.76,     6.51
Tasks: 1062 total,   2 running, 1059 sleeping,   0 stopped,   1 zombie
Cpu(s):  5.9%us,  1.4%sy,  0.8%ni, 85.9%id,  6.0%wa,  0.0%hi,  0.1%si,  0.0%st
Mem:   503.498G total,  501.075G used, 2481.953M free, 2243.645M buffers
Swap: 2046.996M total,    0.000k used, 2046.996M free,  431.561G cached

PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
16129 hbase     20   0 17.1g  16g  18m S 137.2  3.3  83117:26 java
82697 hbase     20   0 9280m 7.8g  17m S  1.3  1.5 761:55.52 java
646 root      20   0     0    0    0 S  0.7  0.0   3779:25 kswapd0:0
5642 root      20   0 19104 2488 1480 S  0.7  0.0 190:25.45 irqbalance
405 root      20   0     0    0    0 S  0.3  0.0  27:53.88 rcuos/56
454 root      20   0     0    0    0 S  0.3  0.0 113:27.72 rcuos/63
14706 emcadm    20   0 11.5g 427m  16m S  0.3  0.1 739:00.90 java
23969 root      20   0  8936 1832 1656 S  0.3  0.0   0:02.60 sadc
26920 mapred    20   0 1847m 358m  23m S  0.3  0.1   0:09.46 java
30684 mapred    20   0 1851m 385m  23m S  0.3  0.1   0:20.89 java
43583 mapred    20   0 1853m 385m  23m S  0.3  0.1   0:50.93 java

$ iostat -xm 4
avg-cpu:  %user   %nice %system %iowait  %steal   %idle
          6.71    0.79    1.08    0.53    0.00   90.89

Device:         rrqm/s   wrqm/s     r/s     w/s    rMB/s    wMB/s avgrq-sz avgqu-sz   await r_await w_await  svctm  %util
sdb               0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00    0.00    0.00   0.00   0.00
sda               0.00    24.25    0.00    4.50     0.00     0.11    51.11     0.01    2.22    0.00    2.22   0.50   0.23
sdc               0.00    11.75    0.00    0.75     0.00     0.05   133.33     0.00    0.33    0.00    0.33   0.33   0.03
sde               0.00    15.00    0.50  121.25     0.00    29.73   500.14    18.09  122.38  113.50  122.42   1.65  20.07
sdd               0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00    0.00    0.00   0.00   0.00
sdf               0.00    11.50   51.00    0.75    10.57     0.05   420.06     0.18    3.48    3.52    0.33   0.83   4.30
sdg               0.50    17.25  158.75    1.00    15.54     0.07   200.20     0.57    3.54    3.56    0.50   1.92  30.75
sdh               0.00     5.25   19.75   12.00     4.30     0.25   293.35     0.09    2.96    4.41    0.58   0.52   1.65
sdi               0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00    0.00    0.00   0.00   0.00
sdk               0.00    12.50    0.00    1.25     0.00     0.05    88.00     0.00    0.20    0.00    0.20   0.20   0.03
sdj               0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00    0.00    0.00   0.00   0.00
sdl               0.00     0.00    0.00    0.25     0.00     0.00     8.00     0.00    1.00    0.00    1.00   1.00   0.03
sdm               0.00     0.00   27.25    0.25     5.63     0.00   419.05     0.27    9.85    9.93    1.00   2.00   5.50
...