Топология не выполняется в локальном кластере
Я пытался изучить шторм apache и настроить шторм на моей Ubuntu, установленной в vmware. Storm версии 2.4.0 и в настоящее время работает на локальном хосте. Когда я отправляю топологию. Топология успешно отправлена и распределена в соответствии с планировщиком по умолчанию, но болты и носики никогда не передают никаких данных. Значение испускаемого столбца в сведениях о топологии остается равным 0. В сводке владельца выдается следующая ошибка: «Топологии этого пользователя могут быть незапланированы из-за чрезмерного использования владельцем ресурсов кластера». Подобный вопрос уже задавался здесь , но на него также нет ответа.
storm.yaml
сводная информация о владельце
Я пробовал много вещей, таких как изменение файла yaml, пытаясь настроить его на разных машинах, но получаю ту же ошибку.
1 ответ
Чтобы устранить это красное уведомление, вы должны добавить следующие строки конфигурации:
- в storm.conf
# available memory for your supervisor
supervisor.memory.capacity.mb: 8192.0
# available CPU resources for supervisor, 100 per core
supervisor.cpu.capacity: 1200.0
# scheduler class
storm.scheduler: "org.apache.storm.scheduler.resource.ResourceAwareScheduler"
- создайте файл user-resource-pools.yaml в папке storm conf. Содержание: ubuntu — имя пользователя, от которого запускаются топологии, exampleuser — просто для примера синтаксиса
resource.aware.scheduler.user.pools:
ubuntu:
cpu: 1200.0
memory: 8192.0
exampleuser:
cpu: 100.0
memory: 1024.0
- перезапустите свой нимб и супервизор
Дополнительные сведения о ResourceAwareScheduler можно найти в документах Storm 2.4.0 и Storm 1.2.3.
Кстати, проверьте свой worker.log в logs/worker-artifacts/your-topology-id/.
Если испускаемые кортежи равны 0, некоторые болты или носики не работают.