Community Articles

Find and share helpful community-sourced technical articles.
Labels (2)

Building Apache Tez with Apache Hadoop 2.8.0 or later fails due to client/server jar separation in Hadoop [1]. The build fails with the following error:

[INFO] -------------------------------------------------------------
[ERROR] /src/tez/tez-api/src/test/java/org/apache/tez/client/[48,30] cannot find symbol
  symbol:   class DistributedFileSystem
  location: package org.apache.hadoop.hdfs
[ERROR] /src/tez/tez-api/src/test/java/org/apache/tez/client/[680,50] cannot find symbol
  symbol:   class DistributedFileSystem
  location: class org.apache.tez.client.TestTezClientUtils
[ERROR] /src/tez/ecosystem/tez/tez-api/src/test/java/org/apache/tez/common/[62,42] cannot access org.apache.hadoop.hdfs.DistributedFileSystem

To get Tez to compile successfully, you will need to use the new hadoop28 profile introduced by TEZ-3690 [2]. E.g. here is how you compile Tez with Apache Hadoop 3.0.0:

mvn clean package -DskipTests=true -Dmaven.javadoc.skip=true -Phadoop28 -Dhadoop.version=3.0.0


1. HDFS-6200: Create a separate jar for hdfs-client

2. TEZ-3690: Tez on hadoop 3 build failed due to hdfs client/server jar separation.

Take a Tour of the Community
Don't have an account?
Your experience may be limited. Sign in to explore more.
Version history
Last update:
‎02-27-2018 10:20 PM
Updated by:
Top Kudoed Authors