Учебники

Apache Storm — рабочий процесс

Работающий кластер Storm должен иметь один венчик и одного или нескольких супервизоров. Другим важным узлом является Apache ZooKeeper, который будет использоваться для координации между нимбом и супервизорами.

Давайте теперь внимательно посмотрим на рабочий процесс Apache Storm —

  • Первоначально нимб будет ждать, когда ему будет представлена ​​«Топология шторма».

  • После отправки топологии она обработает топологию и соберет все задачи, которые необходимо выполнить, и порядок, в котором задача должна быть выполнена.

  • Затем нимб будет равномерно распределять задачи по всем доступным руководителям.

  • В определенный промежуток времени все супервизоры отправят сердцебиение в нимб, чтобы сообщить, что они все еще живы.

  • Когда супервизор умирает и не посылает сердцебиение нимбу, тогда он назначает задачи другому супервизору.

  • Когда сам нимб умирает, супервайзеры будут работать над уже назначенной задачей без каких-либо проблем.

  • Как только все задачи будут выполнены, супервизор будет ждать поступления новой задачи.

  • В то же время, мертвый нимб будет автоматически перезапущен инструментами мониторинга сервиса.

  • Перезапущенный нимб продолжится с того места, где он остановился. Аналогично, мертвый супервизор также может быть перезапущен автоматически. Поскольку и венчик, и супервизор могут быть перезапущены автоматически, и оба будут продолжать работу, как и раньше, Storm гарантированно выполнит все задачи хотя бы один раз.

  • Как только все топологии обработаны, венчик ожидает поступления новой топологии, и аналогичным образом супервизор ожидает новых задач.

Первоначально нимб будет ждать, когда ему будет представлена ​​«Топология шторма».

После отправки топологии она обработает топологию и соберет все задачи, которые необходимо выполнить, и порядок, в котором задача должна быть выполнена.

Затем нимб будет равномерно распределять задачи по всем доступным руководителям.

В определенный промежуток времени все супервизоры отправят сердцебиение в нимб, чтобы сообщить, что они все еще живы.

Когда супервизор умирает и не посылает сердцебиение нимбу, тогда он назначает задачи другому супервизору.

Когда сам нимб умирает, супервайзеры будут работать над уже назначенной задачей без каких-либо проблем.

Как только все задачи будут выполнены, супервизор будет ждать поступления новой задачи.

В то же время, мертвый нимб будет автоматически перезапущен инструментами мониторинга сервиса.

Перезапущенный нимб продолжится с того места, где он остановился. Аналогично, мертвый супервизор также может быть перезапущен автоматически. Поскольку и венчик, и супервизор могут быть перезапущены автоматически, и оба будут продолжать работу, как и раньше, Storm гарантированно выполнит все задачи хотя бы один раз.

Как только все топологии обработаны, венчик ожидает поступления новой топологии, и аналогичным образом супервизор ожидает новых задач.

По умолчанию в кластере Storm есть два режима:

Локальный режим — этот режим используется для разработки, тестирования и отладки, потому что это самый простой способ увидеть, как все компоненты топологии работают вместе. В этом режиме мы можем настроить параметры, которые позволяют нам видеть, как наша топология работает в различных средах конфигурации Storm. В локальном режиме штормовые топологии выполняются на локальной машине в одной виртуальной машине Java.

Рабочий режим. В этом режиме мы передаем нашу топологию в работающий штормовой кластер, который состоит из множества процессов, обычно выполняемых на разных машинах. Как обсуждалось в рабочем процессе шторма, работающий кластер будет работать бесконечно, пока не будет остановлен.