Оказалось, что проблема в том, что поддержка Tez S3 должна быть включена явно во время компиляции. Для had oop 2.8+, чтобы включить поддержку S3, Tez должен быть скомпилирован из исходного кода с помощью следующей команды:
mvn clean package -DskipTests=true -Dmaven.javadoc.skip=true -Paws -Phadoop28 -P\!hadoop27
После этого перетащите сгенерированный tez-x.y.z.tar.gz
в HDFS и извлеките tez-x.x.x-minimal.tar.gz
до $TEZ_LIB_DIR
. Тогда это сработало для меня. Выполнение кустов в MinIO / S3 проходит гладко.
Однако, Руководство по установке Tez ничего не упоминало о включении поддержки S3. Кроме того, бинарные выпуски Tez по умолчанию сборка с поддержкой S3 или Azure.
(надеюсь) полные параметры сборки и подводные камни фактически задокументированы в BUILDING.txt, где написано:
Однако, чтобы построить против oop версий выше 2.7.0, вам нужно будет сделать следующее:
Для версии oop X, где X> = 2.8.0
$ mvn package -Dhadoop.version=${X} -Phadoop28 -P\!hadoop27
Для последних версий Had oop (которые по умолчанию не связывают aws и azure), вы можете связать AWS -S3 ( 2.7.0+) или Azure (2.7.0+) поддержка:
$ mvn package -Dhadoop.version=${X} -Paws -Pazure