1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/EA89B45B220E-Spark-Streaming-Framework

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
В этом репозитории не указан файл с открытой лицензией (LICENSE). При использовании обратитесь к конкретному описанию проекта и его зависимостям в коде.
Клонировать/Скачать
README.md 8.5 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 28.11.2024 05:48 5edf748

Spark Streaming Framework

Проект представляет собой

Полнофункциональную платформу для разработки и управления потоковыми вычислениями на основе Spark Streaming, включающую в себя:

  • систему планирования задач;
  • управление смещениями Kafka;
  • веб-интерфейс администратора;
  • API для запуска и остановки Spark Streaming;
  • оповещение о сбоях и автоматическое восстановление.

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

Описание проекта

Проект основан на платформе для обработки больших данных в реальном времени с использованием Spark Streaming и работает в режиме YARN. Он предоставляет полный набор инструментов для разработки и планирования, упрощая использование Spark Streaming.

Spark Streaming — это популярная платформа для потоковой обработки данных, но существует недостаток готовых решений для её использования. Данный проект предлагает комплексное решение, объединяющее Spark Streaming с Springboot, чтобы упростить разработку и управление потоковыми приложениями.

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

Для разработки используется среда IDE (например, IntelliJ IDEA), а также компоненты HDFS, Spark, HBase и Livy. В зависимости от версии кластера можно настроить файл pom.xml.

Проект состоит из трёх частей:

  1. Платформа (platform) — веб-интерфейс для управления задачами Spark Streaming, включая планирование, мониторинг, запуск, остановку и управление заданиями. Этот компонент должен быть упакован в виде файла WAR и развёрнут на сервере Tomcat.
  2. Фреймворк (framework) — библиотека, содержащая множество функций, упакованных в JAR-файл. Большинство кода в этой библиотеке не требует изменений, достаточно установить его в локальный репозиторий Maven. Фреймворк берёт на себя управление Kafka и другие задачи, освобождая разработчиков от необходимости управлять смещениями, читать данные из определённых топиков Kafka и т. д.
  3. Bigdata — скелет для разработки потоковых бизнес-приложений. Здесь есть примеры кода для работы с данными.

Примеры кода для разработки бизнес-логики потоковых приложений:

  • Java: bigdata.java.spark.streaming.task.datasynchro.DataSynchroStreaming;
  • Scala: bigdata.scala.spark.streaming.task.testscalaapp.ScalaDemo.

Если у вас есть вопросы или нужна дополнительная информация, вы можете связаться с автором проекта.

Адрес проекта на Gitee: https://gitee.com/EA89B45B220E/Spark-Streaming-Framework.

Функции платформы

Поддерживаемые языки: Java и Scala.

Функции платформы включают:

  • Управление зависимостями: при сборке проекта нет необходимости включать зависимости в JAR или конфигурационные файлы. Они могут быть загружены во время выполнения через Livy из HDFS.
  • Управление версиями заданий: каждый раз, когда вы вносите изменения в бизнес-код или логику Spark Streaming, вы можете загрузить новую версию задания. Также можно просматривать и выполнять предыдущие версии.
  • Запуск задач: задачи можно запускать через веб-интерфейс платформы.
  • Остановка задач: задачи могут быть остановлены через веб-интерфейс или принудительно через YARN.
  • Автоматическое восстановление после сбоев: если задача была остановлена по ошибке или произошёл сбой, платформа автоматически перезапустит её до трёх раз в день.
  • Уведомления о сбоях: платформа может отправлять уведомления по SMS, если задача останавливается или завершается по ошибке. Для этого необходимо настроить параметры в пользовательском интерфейсе.
  • Выполнение задач в определённой очереди YARN: можно указать очередь YARN для выполнения задачи.
  • Настройка параметров запуска: параметры запуска задачи можно настроить через веб-интерфейс.
  • Контроль нагрузки: можно настроить максимальное количество данных, которое будет обрабатываться перед тем, как задача будет приостановлена.
  • Соединение с Elasticsearch: реализовано пул соединений с Elasticsearch, который можно настроить.
  • Соединения с другими базами данных: реализованы пулы соединений с Hbase, MySQL, Oracle и Redis. Их можно настроить, изменив параметры в конфигурационном файле.
  • Статистика потребления Kafka: можно отслеживать смещение данных, которые были обработаны из Kafka.
  • Предупреждения о накоплении данных: можно задать порог количества данных, при достижении которого будет отправлено уведомление.
  • Управление смещениями Kafka: можно указать смещение, с которого следует начать обработку данных из Kafka.
  • Визуализация статистики: последние семь дней работы приложения и генерации данных в Kafka отображаются в графическом виде.
  • Загрузка журналов: можно скачать журналы Livy и Yarn через SSH.
  • Веб-API: доступны API для запуска, остановки, принудительного завершения и получения статуса задач.

Опубликовать ( 0 )

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

1
https://api.gitlife.ru/oschina-mirror/EA89B45B220E-Spark-Streaming-Framework.git
git@api.gitlife.ru:oschina-mirror/EA89B45B220E-Spark-Streaming-Framework.git
oschina-mirror
EA89B45B220E-Spark-Streaming-Framework
EA89B45B220E-Spark-Streaming-Framework
master