Увеличение назначенной памяти для топологии в Storm - PullRequest
0 голосов
/ 21 мая 2018

У меня есть кластер из 10 узлов с каждой машиной объемом 8 ГБ ОЗУ, и когда я запускаю свою топологию, выделенная память всегда пропорциональна количеству рабочих.И каждый работник занимает примерно 1 ГБ памяти.Я хочу выделить 2 ГБ каждому рабочему, которого я пытался установить в storm.yaml как worker.childopts: "-Xmx6g -Xms6g", так как на каждом узле у меня три рабочих.Но выделенная память уменьшилась до уровня ниже 1 ГБ.

Как лучше настроить топологию?

Я получаю следующую ошибку в одном из моих болтов

java.lang.OutOfMemoryError: Пространство кучи Java в java.nio.HeapByteBuffer. (HeapByteBuffer.java:57) в java.nio.ByteBuffer.allocate (ByteBuffer.java:335) в org.apache.kamoryMoryMorem1009 *

Ответы [ 2 ]

0 голосов
/ 28 мая 2018

Вы можете сослаться на эту ссылку https://github.com/apache/storm/blob/master/conf/defaults.yaml

Я настраиваю 2 параметра:

worker.heap.memory.mb: 768
supervisor.memory.capacity.mb: 4096.0

Если у вас есть 10 рабочих, вам нужно настроить supervisor.memory.capacity.mb = (768 x 10) Этовместимость супервайзера

0 голосов
/ 26 мая 2018

Я думаю, что ваша конфигурация немного неправильная.Параметр worker.childopts передается каждой рабочей JVM, поэтому, когда вы устанавливаете -Xmx6g -Xms6g, вы предоставляете каждому из трех рабочих по 6 гигабайт памяти (всего 18 для узла)

...