Обзор работы Flink
Flink — это фреймворк для быстрой обработки потоков данных. Вы можете установить Flink в процессе развертывания кластера ADH. Также существует возможность добавить Flink в существующий кластер отдельным сервисом.
Наиболее удобным способом настройки Flink является ADCM. Также вы можете использовать файлы XML для кастомной конфигурации. По умолчанию файлы настроек расположены в /etc/flink/conf/, где flink-conf.yaml — основной файл конфигурации.
Flink считывает конфигурацию из файлов настроек при старте. Изменения в файлах требуют перезапуска соответствующих процессов Flink.
Из коробки Flink использует Java, установленную в системе по умолчанию.
Чтобы переопределить Java, объявите переменную окружения JAVA_HOME
или добавьте ключ env.java.home
в файле flink-conf.yaml.
Также вы можете указать произвольную директорию для хранения настроек, используя переменную FLINK_CONF_DIR
.
Описания всех параметров доступны в документации Flink.
Flink может запускать приложения в одном из трех режимов:
-
Application Mode. Создает кластер и выполняет метод
main()
для каждого приложения в кластере. -
Per-Job Mode. Использует доступный планировщик ресурсов (например, YARN, Kubernetes) и создает новый кластер для каждой задачи. В этом случае жизненный цикл кластера привязан к жизненному циклу задачи.
-
Session Mode. Использует ресурсы уже запущенного кластера для выполнения переданных в кластер приложений. Жизненный цикл кластера не связан с задачами, выполняющимися в кластере, а ресурсы кластера распределяются между всеми задачами.
Для получения дополнительной информации обратитесь к статьям Подключение к Flink через CLI и Обзор Flink UI.
Flink поддерживает режим высокой доступности (High Availability, HA) для компонентов JobManager, что обеспечивает непрерывную работу в случае сбоя компонента JobManager. Режим высокой доступности активируется автоматически, если в кластере установлены 2 и более JobManager. В режиме высокой доступности номера портов для доступа к JobManager генерируются с помощью ZooKeeper.