Apache Hadoop 3.3.4: краткий обзор главных обновлений

Apache Hadoop 3.3.4, обновления Hadoop 2022, Hadoop администратор обучение курсы, администрирование кластера Hadoop, Hadoop для инженеров данных, YARN в кластере Apache Hadoop, курсы Hadoop администратор кластера обучение, Apache Hadoop для дата-инженеров курсы обучение, Школа Больших Данных Учебный центр Коммерсант

8 августа 2022 года вышел очередной релиз главной технологии стека Big Data – Apache Hadoop 3.3.4. Разбираемся с ключевыми фичами этого выпуска и исправлениями ошибок, которые особенно важны для администратора кластера и дата-инженера.

ТОП-10 обновлений Apache Hadoop 3.3.4

Apache Hadoop 3.3.4 включает в себя ряд значительных улучшений по сравнению с предыдущей основной линейкой выпусков. В частности, это первый релиз, поддерживающий архитектуры процессоров ARM, которые широко используются в потребительской электронике, от смартфонов и носимых устройств до жестких дисков и маршрутизаторов. Благодаря низкому энергопотреблению, ARM-процессоры находят применение во встраиваемых системах и преобладают на рынке мобильных устройств.

Также в Apache Hadoop 3.3.4 бинарный формат сериализации данных Protobuf обновлен до 3.7.1, поскольку предыдущий protobuf-2.5.0 достиг ограничения EOL и перестал развиваться. Полностью реализована поддержка среды выполнения Java 11. Еще Hadoop теперь переключается на использование затененной версии Guava от сторонних разработчиков, что помогает устранить конфликты версий этого набора общих библиотек для Java с открытым исходным кодом от разработчиков Google с нижестоящими приложениями.

Для кодеков сжатия LZ4 и Snappy с версии 3.3.4 Hadoop теперь переходит на использование lz4-java и snappy-java вместо установки их собственных библиотек в системах, работающих под управлением этого Big Data фреймворка. Внешним службам или службе YARN может потребоваться вызов WebHDFS или YARN по REST API для поведения пользователя с использованием веб-протоколов.

Выполнено множество улучшений кода S3A, включая поддержку токена делегирования, улучшенную обработку кэширования с ошибкой 404. Также улучшена производительность S3guard и устойчивость этого коннектора к облачному объектному хранилищу. Маршрутизатор HDFS теперь поддерживает безопасность и содержит множество исправлений ошибок и улучшений. В частности, реализована поддержка энергонезависимой памяти класса хранения (SCM, Storage Class Memory) в директивах кэша HDFS. Теперь память класса хранения в кэше чтения включается с самого начала. Хотя SCM имеет энергонезависимые характеристики, чтобы сохранить то же поведение, что и текущий кэш только для чтения, эта память класса хранения сегодня используется довольно часто.

Еще реализован каталог приложений YARN, который предоставляет редакторский и поисковый интерфейс. Это повышает удобство использования YARN для управления жизненным циклом Hadoop-приложений. Выполнено внедрение файловой системы Tencent Cloud COS, которая входит в число лидеров облачных услуг на рынке Китая и широко используется среди пользователей облачных сервисов. Эта задача реализует файловую систему COSN для изначальной поддержки облачной COS Tencent в Hadoop.

Также улучшено планирование оппортунистических контейнеров через центральный менеджер ресурсов YARN посредством распределенного планирования, а также планирование контейнеров на основе фактического использования узла и масштабирования контейнеров. Кроме того, в Apache Hadoop 3.3.4 были обновлены внешние зависимости, чтобы устранить подверженность уязвимостям, которые мы рассмотрим далее.

Изменения во внешних зависимостях для устранения уязвимостей

Чтобы устранить уязвимость CVE-2021-0341, связанную с возможностью Android версий 8.1, 9, 10 и 11 принять сертификат для неправильного домена из-за некорректного использования шифрования, обновлен okhttp-клиент HTTP и HTTP/2 для приложений Android и Java с 2.7.5 до 4.9.3. Этот клиент поставляется с расширенными функциями, такими как пул соединений, если HTTP/2 недоступен, прозрачное сжатие GZIP и кэширование ответов, чтобы полностью избежать сети для повторных запросов. Уязвимость CVE-2021-0341 могла привести к удаленному раскрытию информации без необходимости дополнительных привилегий исполнения.

Для устранения уязвимости CVE-2022-23437 в синтаксическом XML-анализаторе Apache Xerces Java (XercesJ) при обработке специально созданных полезных данных XML-документов Apache Xerces обновлен до версии 2.12.2. Уязвимость приводила к тому, что синтаксический XML-анализатор XercesJ уходил в состояние ожидания в бесконечном цикле, потребляя системные ресурсы в течение длительного времени.

В Apache Hadoop 3.3.4 удалена зависимость от hadoop-cloud-storage, поскольку библиотеки, включающие http-клиет (hadoop-client-runtime.jar, aws-java-sdk-bundle.jar, gcs-connector-shaded.jar, cos_api-bundle-5.6.19.jar ) загружают и используют незатененный ресурс mozilla/public-suffix-list.txt. Если в пути к классам сначала будет обнаружена устаревшая версия, попытки согласования TLS-соединений могут завершиться с ошибкой «Сертификат не соответствует ни одному из альтернативных имен субъекта». В свежем выпуске библиотека hadoop-cos не объявлена ​​как зависимость от hadoop-cloud-storage. Поэтому приложения, зависящие от этого модуля, больше не подвержены этой проблеме. Если приложение требует использования модуля hadoop-cos, следует объявить зависимость явно.

Также в Apache Hadoop 3.3.4 удалена зависимость от rs-api с понижением версии jackson до 2.12.7 с 2.13.2, чтобы исправить конфликты классов в нижестоящих проектах. Эта версия простой jackson-библиотеки на основе Java для сериализации Java-объектов в JSON и наоборот  содержит исправление уязвимости CVE-2020-36518, которая допускала Java-исключение переполнения стека (StackOverflow) и отказ в обслуживании из-за большой глубины вложенных объектов.

Еще обновлена Netty — платформа асинхронных, управляемых событиями сетевых приложений с открытым исходным кодом. Обновление Netty понадобилось для устранения уязвимостей CVE-2019-20444, CVE-2019-20445 и CVE-2022-24823. Уязвимость CVE-2019-20444 допускала возможность для HttpObjectDecoder.java в Netty до версии 4.1.44 задать HTTP-заголовок без двоеточия, который может интерпретироваться как отдельный заголовок с неправильным синтаксисом или интерпретироваться как недопустимая складка. Сопутствующая уязвимость CVE-2019-20445 позволяла сопровождать заголовок Content-Length вторым заголовком Content-Length или заголовком Transfer-Encoding.

Что касается CVE-2022-24823, она связано с тем, что пакет io.netty:netty-codec-http до версии Netty 4.1.77.Final содержал недостаточное исправление уязвимости CVE-2021-21290, эксплуатирующей небезопасность временных файлов в Unix-системах. Когда используются составные декодеры Netty, раскрытие локальной информации может происходить через временный каталог локальной системы, если включено временное хранение загрузок на диск. Это влияет только на приложения, работающие на Java версии 6 и ниже. Кроме того, уязвимость CVE-2022-24823 влияет на код, работающий в Unix-подобных системах, а также в очень старых версиях Mac OSX и Windows, поскольку все они совместно используют системный временный каталог для всех пользователей. Версия Netty 4.1.77.Final содержит патч для этой уязвимости. В качестве обходного пути следует указать свой собственный каталог `java.io.tmpdir` при запуске JVM или использовать метод DefaultHttpDataFactory.setBaseDir(…), чтобы установить каталог, доступный только для чтения текущему пользователю.

Наконец, было обновлено AWS SDK до версии 1.12.262, чтобы устранить проблему библиотеки jackson, связанную с уязвимостью CVE-2018-7489, которая позволяла отправлять вредоносный ввод JSON в метод readValue ObjectMapper(), обходя черный список, если библиотеки c3p0 были доступны в пути к классам.

Читайте в нашей новой статье про механизм моментальных снимков в распределенной файловой системе Apache Hadoop (HDFS).

Безопасность озера данных Hadoop

Код курса
DSEC
Ближайшая дата курса
20 мая, 2024
Продолжительность
24 ак.часов
Стоимость обучения
72 000 руб.

Узнайте больше про администрирование и эксплуатацию Apache Hadoop для аналитики больших данных на специализированных курсах в нашем лицензированном учебном центре обучения и повышения квалификации для разработчиков, менеджеров, архитекторов, инженеров, администраторов, Data Scientist’ов и аналитиков Big Data в Москве:

Я даю свое согласие на обработку персональных данных и соглашаюсь с политикой конфиденциальности.

Источники

  1. https://hadoop.apache.org/docs/r3.3.4/index.html
  2. https://hadoop.apache.org/docs/r3.3.4/hadoop-project-dist/hadoop-common/release/3.3.4/RELEASENOTES.3.3.4.html
Поиск по сайту