Я работаю над штормовым приложением, и мне нужно передавать информацию об окружении и облаке с помощью vmargs. Аргументы программы вызывают проблемы с безопасностью, поскольку я устанавливаю эти значения с помощью System.setproperty и файла свойств, которые я не могу использовать. Vmargs не работают со штормом. Любая идея, что еще я могу сделать?
Как передать аргументы jvm штормовому приложению
Ответы (2)
Я предполагаю, что вы запускаете Storm в кластерном режиме на удаленной машине. В этом случае storm предлагает вам использовать команду storm jar
. Это правда, что по умолчанию он принимает всего несколько аргументов, поскольку внутри он использует скрипт Python, который вызывает java.
Но кажется возможным запустить storm с помощью команды java и передать ей команды командной строки - см. эту ссылку .
person
moosehead42
schedule
27.07.2021
Другой способ передать некоторые переменные в топологию — это подстановка переменных среды в файле потока и запуск
name: topo${ENV-YOURVAR}
при запуске в bash выглядит так:
export YOURVAR=test
storm jar yourtopo.jar org.apache.storm.flux.Flux yourtopo.flux -e
Флаг -e
указывает storm заменить переменные среды в файле потока.
person
Vitos
schedule
27.07.2021