Apache Kafka 2.8.0 без Zookeeper: долгожданный развод в мире Big Data

Apache Kafka 2.8.0 без Zookeeper

19 апреля 2021 года вышел долгожданный релиз Apache Kafka 2.8.0, в котором вместо внешнего сервиса синхронизации распределенных систем ZooKeeper для хранения метаданных о разделах топиков и брокерах используется внутренний механизм под названием Self-Managed Metadata Quorum.

Отказ от Apache Zookeeper в кластере Kafka и другие достоинства нового релиза

Курсы по Apache Kafka для администраторов кластера и разработчиков распределенных приложений – одно из самых востребованных направлений нашего учебного центра. Наши преподаватели постоянно следят за обновлениями программных продуктов и оперативно вносят изменения в методические материалы.

Apache Zookeeper необходим кластеру Kafka для надежной согласованности его состояния, конфигурации и обнаружения одноранговых узлов. Однако, такая зависимость от внешнего сервиса усложняет развертывание и эксплуатацию этой распределенной платформы потоковой передачи больших данных. Кроме того, разная скорость смещения в топиках Kafka может вызвать проблемы отставания метаданных в Zookeeper с реальным состоянием распределенного приложения. Такое рассогласование чревато потерей данных. Также возможны проблемы запуска брокера сообщений, когда после перезагрузки сервера Kafka не видит Zookeeper из-за того, что еще не запустился сетевой интерфейс.

Поэтому еще в 2019 году компания Confluence начала разработку решения по замене Zookeeper внутренним инструментом — Self-Managed Metadata Quorum. Полностью реализовать эту идею удалось лишь в апреле 2021 года, в релизе Apache Kafka 2.8.0. Это упростило администрирование кластера Kafka, благодаря сокращению числа настраиваемых сервисов и возможности развернуть контроллер и брокер в рамках одной JVM.

Кроме этого улучшения в свежем релизе реализованы новые фичи Kafka Streams и интеграционного компонента Connect, исправлены многие баги, а также добавлены дополнительные возможности: API для описания кластера, поддержка взаимной аутентификации TLS, идентификаторы топиков, иерархия логирования и множество других полезных решений. Однако, попробовать все эти улучшения новой версии не так просто из-за тонкостей отказа от Zookeeper. Подробнее о процедуре перехода на Self-Managed Metadata Quorum и прочих особенностях новой версии системы читайте в блоге Школы Больших Данных:

А на практике узнать, как без проблем перейти на новый релиз и корректно настроить кластер распределенной системы потоковой передачи без Zookeeper вам помогут специализированные курсы по Apache Kafka в нашей Школе Больших Данных УЦ «Коммерсант»: