Учебники

Apache Storm — Введение

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

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

Apache Storm против Hadoop

В основном, Hadoop и Storm Framework используются для анализа больших данных. Оба они дополняют друг друга и отличаются по некоторым аспектам. Apache Storm выполняет все операции, кроме постоянства, в то время как Hadoop хорош во всем, но отстает в вычислениях в реальном времени. В следующей таблице сравниваются атрибуты Storm и Hadoop.

Гроза Hadoop
Обработка потоков в реальном времени Пакетная обработка
Stateless Stateful
Архитектура Master / Slave с координацией на основе ZooKeeper. Главный узел называется nimbus, а подчиненные — супервизорами . Архитектура «ведущий-ведомый» с / без координации на основе ZooKeeper. Главный узел — это средство отслеживания заданий, а подчиненный узел — средство отслеживания заданий .
Процесс потоковой передачи Storm может получать доступ к десяткам тысяч сообщений в секунду в кластере. Распределенная файловая система Hadoop (HDFS) использует инфраструктуру MapReduce для обработки огромного объема данных, который занимает минуты или часы.
Топология шторма работает до тех пор, пока пользователь не отключится или не произойдет непредвиденный неисправимый сбой. Задания MapReduce выполняются в последовательном порядке и в конечном итоге завершаются.
Оба распределены и отказоустойчивы
Если нимб / супервизор умирает, перезапуск заставляет его продолжать с того места, где он остановился, следовательно, ничто не затрагивается. Если JobTracker умирает, все запущенные задания теряются.

Примеры использования Apache Storm

Apache Storm очень известен обработкой больших потоков данных в реальном времени. По этой причине большинство компаний используют Storm как неотъемлемую часть своей системы. Вот некоторые примечательные примеры:

Twitter — Twitter использует Apache Storm для своей линейки продуктов Publisher Analytics. «Publisher Analytics Products» обрабатывает все твиты и клики в платформе Twitter. Apache Storm глубоко интегрирован с инфраструктурой Twitter.

NaviSite — NaviSite использует Storm для системы мониторинга / аудита журнала событий. Все журналы, сгенерированные в системе, будут проходить через Шторм. Storm проверит сообщение на соответствие настроенному набору регулярных выражений, и если совпадение будет найдено, то это конкретное сообщение будет сохранено в базе данных.

Wego — Wego — это механизм метапоисков путешествий, расположенный в Сингапуре. Данные, связанные с поездками, поступают из многих источников по всему миру с разными сроками. Storm помогает Wego осуществлять поиск данных в реальном времени, устраняет проблемы с параллелизмом и находит наилучшее соответствие для конечного пользователя.

Преимущества Apache Storm

Вот список преимуществ, которые предлагает Apache Storm —

Storm является открытым исходным кодом, надежным и удобным для пользователя. Он может быть использован как в небольших компаниях, так и в крупных корпорациях.

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

Позволяет обрабатывать поток в реальном времени.

Storm невероятно быстр, потому что он обладает огромной способностью обрабатывать данные.

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

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

Шторм обладает оперативным интеллектом.

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