Написать в техподдержку Позвонить нам
Админпанель Выход

Содержание статьи:

    DataFlow

    Компоненты сборки

    Вариант сборки DataFlow состоит из предустановленных компонент, описание которых дано ниже. Дополнительные компоненты можно установить в интерфейсе Ambari.

    ZooKeeper

    Apache Zookeeper — open source проект Apache Software Foundation,cервис-координатор, который обеспечивает распределенную синхронизацию небольших по объему данных (конфигурационная информация, пространство имен) для группы приложений. Zookeeper представляет из себя распределенное хранилище "ключ-значение", гарантирующий надежное хранение информации за счет синхронной репликации между узлами, контроля версий, механизма очередей и блокировок. За счет использования оперативной памяти и масштабируемости обладает высокой скоростью.

    Архитектурно Zookeeper организован по клиент-серверной технологии, когда клиентские приложения обращаются к одному из узлов, объединенных в ансамбль. Среди ансамбля серверов выделяется главный узел — Лидер, который выполняет все операции записи и запускает автоматическое восстановление при отказе любого из подключенных серверов. Остальные узлы — подписчики или последователи, реплицируют данные с Лидера и используются клиентскими приложениями для чтения.

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

    В интерфейсе Ambari для управления компонентом Zookeeper необходимо открыть соответствующую вкладку и открыть выпадающее меню "Действия/Actions":

    Storm

    Apache Storm представляет собой фреймворк для распределенных потоковых вычислений в реальном времени.

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

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

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

    В интерфейсе Ambari для управления компонентом Storm необходимо открыть соответствующую вкладку и открыть выпадающее меню "Действия/Actions":

     

    Infra Solr

    Apache Solr - поисковая платформа с открытым исходным кодом, построенная на Apache Lucene™. Solr обладает высокой надежностью, масштабируемостью и отказоустойчивостью, обеспечивая распределенное индексирование, репликацию и балансировку нагрузки, автоматическое восстановление после сбоев, централизованную конфигурацию и многое другое. Solr поддерживает функции поиска и навигации многих крупнейших интернет-сайтов в мире. Так как в Solr есть возможность распределенного поиска и репликации, Solr хорошо масштабируем.

    Solr работает как автономный полнотекстовый поисковый сервер. Он использует библиотеку поискаLucene Java в своей основе для полнотекстового индексирования и поиска, и имеет REST-подобные API HTTP / XML и JSON, которые делают его пригодным для использования на самых популярных языках программирования. Внешняя конфигурация Solr позволяет адаптировать ее ко многим типам приложений без Java-кодирования и иметь архитектуру плагина для поддержки более детальной настройки.

    В интерфейсе Ambari для управления компонентом Solr необходимо открыть соответствующую вкладку и открыть выпадающее меню "Действия/Actions":

     

    AmbariMetrics

    Ambari Metrics System (AMS) - собирает, агрегирует и обслуживает системные метрики в кластерах, управляемых Ambari и имеет 4 компонента:


    • мониторы метрик на каждом хосте в кластере собирают метрики системного уровня и публикуют их в Metrics Collector
    • Hadoop Sinks подключается к компонентам Hadoop для публикации метрик в Metrics Collector
    • Metrics Collector это демон, работающий на определенном хосте в кластере и получающий данные от зарегистрированных пользователей, мониторов или приемников
    • Grafana это демон, который работает на определенном хосте в кластере и обслуживает предварительно созданные панели мониторинга для визуализации метрик.

    В интерфейсе Ambari для управления компонентом Ambari Metrics необходимо открыть соответствующую вкладку и открыть выпадающее меню "Действия/Actions":

    Kafka

    Apache Kafka - распределенный программный брокер сообщений, поддерживающий транзакционность при работе с потребителями и поставщиками событий:


    • публикует и подписывается на поток записей подобно очереди сообщений и корпоративной системе сообщений
    • хранит поток записей (событий) обеспечивая отказоустойчивость и надежность
    • обрабатывает поток записей (событий) по мере поступления

    Kafka как правило используется как система обработки событий для двух классов приложений:


    • построение потоков каналов данных в режиме реального времени с надежностью получения данных между системами и приложениями;
    • построение потоковых приложений работающих в режиме реального времени которые трансформируют или реагируют на данные потока.

    В интерфейсе Ambari для управления компонентом Kafka необходимо открыть соответствующую вкладку и открыть выпадающее меню "Действия/Actions":

     

    NiFi

    Apache NiFi — это простая платформа обработки событий (сообщений), предоставляющая возможности управления потоками данных из разнообразных источников в режиме реального времени с использованием графического интерфейса. Программа Apache NiFi написана для диспетчеризации данных, поддерживающих работу с разнообразными небольшими сетевыми граничными устройствами, крупными кластерами данных и облачной инфраструктурой.

    Apache NiFi использует концепцию потока, рассматриваемую как последовательность операций: передача, преобразование и обогащение данных над последовательностью отдельных событий. Таким образом, поток не рассматривается как большая пакетная операция, требующая выполнения первоначальной загрузки всех данных перед началом обработки. Например, SQL база данных с миллионами строк рассматривается Apache NiFi как миллионы отдельных строк, требующие своей обработки.

    В интерфейсе Ambari для управления компонентом NiFi необходимо открыть соответствующую вкладку и открыть выпадающее меню "Действия/Actions":

     


    Полезна ли была эта статья?