Из storm docs:Переводит ли порт в supervisor.slots.ports на одну физическую JVM?
supervisor.slots.ports: «Для каждого рабочего аппарата, настроить сколько рабочих работают на этой машине с этим конфиге Каждый работник использует один порт для приема сообщений, и этот параметр. определяет, какие порты открыты для использования. Если вы определяете здесь пять портов, то Storm выделит до пяти рабочих для работы на этом компьютере ».
И от storm concepts:
Рабочие: Топологии выполнять по одному или нескольким рабочим процессам. Каждый рабочий процесс является физическим JVM и выполняет подмножество всех задач для топологии.
Мои storm.yaml
определяет:
supervisor.slots.ports:
- 6700
- 6701
- 6702
- 6703
А потом я запускаю топологию с topology.workers
набором 3 (Кафка-дозатор параллелизма устанавливается в 1 и Solr-болт параллелизм установлен в 2, никаких других болтах).
Storm-ui также показывает, что моя топология работает нормально с 1 носиком и 2 болтами.
Но когда я вхожу в штормовые машины и запускаю ps -aef | grep storm
или jps -l
, я не вижу процессов JVM для работников в любом месте. Только процессы, я вижу, являются:
машины 1:
jps -l
30675 backtype.storm.daemon.supervisor
30583 backtype.storm.daemon.logviewer
машина 2:
jps -l
6818 backtype.storm.ui.core
6995 backtype.storm.daemon.supervisor
6739 backtype.storm.daemon.nimbus
6904 backtype.storm.daemon.logviewer
ли шторм не создать один физический JVM на одного работника? И разве это не перевести на один JVM на порт, упомянутый в supervisor.slots.ports
?