3—дневный курс по Kafka для специалистов, желающих получить и систематизировать знания по использованию Kafka для организации распределенной потоковой обработки событий (Event Stream Processing) на практических примерах с потоковыми данными в реальном времени.
Курс содержит расширенные сведения по установке распределенного кластера Apache Kafka (Confluent), настройке безопасности Kerberos и интеграции с другими продуктами, мониторинга и оптимизации Kafka в соответствии с «best practices«.
Программа курса Администрирование кластера Kafka
1. Введение в Kafka
- Что такое Apache Kafka?
- Сценарии использования Kafka
- Компоненты Kafka и Kafka экосистемы
- Архитектура Kafka
- Кластер Zookeeper
- Потоковая Обработка Событий(Event Stream Processing): — Терминология и основные концепции.
2. Основные концепции Kafka
- Как работает Kafka: Топики (Topics) и партиций (Partitions). Репликация данных.
- Брокеры (Brokers): Развертывание. Конфигурация Multibroker
- Поставщики данных (Producers): Типы партиций. Синхронные и асинхронные Producers. Параметры конфигурации. Java API
- Потребители данных (Consumers): Очереди Consumers. Широковещание (Broadcasting).
3. Установка кластера Apache Kafka
- Требования по установке кластера Kafka
- Установка и настройка кластера Zookeeper: Настройка кворума. Конфигурация сервисов и файловой системы. Оптимизация и отказоустойчивость Zookeeper.
- Установка и настройка кластера Kafka: Планирование установки и sizing кластера Kafka. Типовые проблемы при установке. Запуск и первоначальное конфигурирование Kafka. Конфигурация Listeners. Отказоусточивость кластера Kafka. Kafka менеджер.
- Установка кластера Kafka на AWS
- Репликация кластера с использованием Mirror Maker (Confluent Replicator)
4. Базовые операции в Apache Kafka
- Операции с Топиками (Topic)
- Публикация данных с консольного Producer
- Получение данных с консольного Consumer
- Пользовательские интерфейсы топика Kafka (Topics UI)
- Разбор примеров кода producer
- Разбор примеров кода consumer
5. Оптимизация кластера Apache Kafka
- Оптимизация производительности компонент кластера
- Масштабирование кластера
- Балансировка разделов(partition) и использование Partition Reassignment Tools
- Балансировка с использованием ADB (Auto Data Balancing)
- Best Practices Kafka/Confluent
- Мониторинг кластера Kafka
- Настройка мониторинга кластера Kafka (Confluent) с использованием Prometheus + Grafana ( Telegraf/Influx + Grafana)
6. Интеграция с Apache Kafka
- Использование Apache NiFi
- Интеграция Apache Flume с Kafka
- Сценарии интеграции с Apache Kafka
7. Расширенная конфигурация кластера Kafka
- Расширенная конфигурация топиков (Topic): Изменение конфигурации топиков. Sizing(количество партиций и фактор репликации). Сегменты и индексы. Политика очистки логов (Log Cleanup Policy). Сжатие и консолидация данных в логах.
- Confluent REST Proxy
- Настройка Confluent Schema Registry
- Архитектура Kafka Connect
8. Безопасность в Kafka
- Шифрование SSL: Установка центра сертификатов (CA), настройка SSL для Kafka кластера и клиентов
- Аутентификация SSL/SASL
- Аутентификация Kerberos: Настройка Kerberos. Keytabs и principals. Настройка кластера Kafka и клиентов для поддержки Kerberos
- Авторизация в Kafka
- Управление списками управления доступом (ACL)