Отправка топологии в Storm

Я настроил Storm на своей машине. Zookeeper, Nimbus и Supervisor работают правильно. Теперь я хочу представить топологию этого шторма. Я пытаюсь использовать штормовую банку. но я не могу представить его. Может ли кто-нибудь привести пример для этого. Это будет очень полезно. Заранее спасибо:)


person Mahi Singh    schedule 19.09.2013    source источник


Ответы (2)


Ответ находится в официальной документации, и это достаточно ясно. Запустите storm jar path/to/allmycode.jar org.me.MyTopology arg1 arg2 arg3 (замените имя вашего проекта и аргументы, если они есть). Убедитесь, что вы используете объект StormSubmitter вместо LocalCluster.

person Munim    schedule 19.09.2013
comment
Я клонировал storm-starter, как там написано, все работает правильно, когда я выполняю $ lein deps $ lein compile $ java -cp $(lein classpath) storm.starter.ExclamationTopology - person Mahi Singh; 19.09.2013
comment
затем, как написано в документации, я подумал, что должен запустить java jar, чтобы отправить объяснение топологии storm-starter, для этого я создал файл .jar из классов этих топологий в starter.then я выполнил #bin/storm jar/home/mahi/ stormstarter/target/classes/storm/starter/try1.jar storm.starter.ExclamationTopology mytopology - person Mahi Singh; 19.09.2013
comment
Но выдает ошибку Ошибка: не удалось найти или загрузить основной класс storm.starter.ExclamationTopology Я на правильном пути... пожалуйста, помогите :( - person Mahi Singh; 19.09.2013
comment
@MahiSingh Вот в чем проблема. Вы задали простой вопрос, и я дал простой ответ. Если вы столкнулись с конкретными проблемами, вы должны четко описать их в своем вопросе. У нас нет другого способа предсказать и выяснить, как и почему вы сталкиваетесь с этими проблемами. В любом случае, теперь, глядя на ваши комментарии, похоже, что имя класса, которое вы дали storm.starter.ExclamationTopology, не то, что вы настроили, или, возможно, ваш код был неправильно скомпилирован. Опять же, объясните подробно, и вы получите помощь. - person Munim; 21.09.2013

К сожалению, почти все примеры в Интернете показывают пример счетчика слов и не упоминают шаги, необходимые простым способом:

Все, что вам нужно сделать, это:
1. Перейдите в папку storm bin:
cd /Users/nav/programming/apache-storm-1.0.1/bin
2. Запустите nimbus
./storm nimbus
3. Запустите супервизор
./storm supervisor
4 . Запустите программу пользовательского интерфейса
./storm ui
5. Убедитесь, что вы создали файл jar с storm jar исключен из него.
6. Убедитесь, что ваш /Users/nav/programming/apache-storm-1.0.1/conf/storm.yaml файл действителен (это должен был быть шаг 2).
7. Убедитесь, что в коде вы отправляете топология с использованием StormSubmitter.submitTopology
8. Снова перейдите к папке storm bin
cd /Users/nav/programming/apache-storm-1.0.1/bin
9. Отправьте файл jar в storm ./storm jar /Users/nav/myworkspace/StormTrial/build/libs/StormTrial.jar com.abc.stormtrial.StormTrial
Вышеприведенная команда в основном выглядит так:
stormExecutable jarOption pathToYourJarFile theClassContainingYourMainFile

Если вы хотите передать в программу аргументы командной строки, добавьте их в конце:
stormExecutable jarOption pathToYourJarFile theClassContainingYourMainFile commandlineArguments

Здесь com.abc.stormtrial — это полное имя пакета, а .StormTrial — это имя класса, содержащего вашу функцию main.

Теперь откройте браузер и введите http://127.0.0.1:8080, и вы увидите, что ваша топология работает через пользовательский интерфейс Storm.

person Nav    schedule 27.05.2016
comment
когда я выполняю 9-й шаг, он запускает скрипт .py в новом окне и завершает работу без каких-либо ошибок/информации. есть идеи, почему? - person Abdul Samad; 04.06.2018
comment
Проверьте пользовательский интерфейс Storm, и вы должны увидеть работающую там топологию. - person Nav; 04.06.2018