alberttwong opened a new issue, #11852:
URL: https://github.com/apache/hudi/issues/11852

   **Describe the problem you faced**
   
   When using AWS Hadoop 3.3.4 libraries, Hudi Syn will give 
java.lang.ClassNotFoundException: 
org.apache.hadoop.fs.statistics.IOStatisticsSource
   
   **To Reproduce**
   
   ```
   Exception in thread "main" org.apache.hudi.hive.HoodieHiveSyncException: Got 
runtime exception when hive syncing
           at 
org.apache.hudi.hive.HiveSyncTool.initSyncClient(HiveSyncTool.java:130)
           at org.apache.hudi.hive.HiveSyncTool.<init>(HiveSyncTool.java:119)
           at org.apache.hudi.hive.HiveSyncTool.main(HiveSyncTool.java:480)
   Caused by: org.apache.hudi.exception.HoodieException: Unable to create 
org.apache.hudi.storage.hadoop.HoodieHadoopStorage
           at 
org.apache.hudi.storage.HoodieStorageUtils.getStorage(HoodieStorageUtils.java:44)
           at 
org.apache.hudi.common.table.HoodieTableMetaClient.getStorage(HoodieTableMetaClient.java:309)
           at 
org.apache.hudi.common.table.HoodieTableMetaClient.access$000(HoodieTableMetaClient.java:81)
           at 
org.apache.hudi.common.table.HoodieTableMetaClient$Builder.build(HoodieTableMetaClient.java:770)
           at 
org.apache.hudi.sync.common.HoodieSyncClient.<init>(HoodieSyncClient.java:68)
           at 
org.apache.hudi.hive.HoodieHiveSyncClient.<init>(HoodieHiveSyncClient.java:84)
           at 
org.apache.hudi.hive.HiveSyncTool.initSyncClient(HiveSyncTool.java:125)
           ... 2 more
   Caused by: org.apache.hudi.exception.HoodieException: Unable to instantiate 
class org.apache.hudi.storage.hadoop.HoodieHadoopStorage
           at 
org.apache.hudi.common.util.ReflectionUtils.loadClass(ReflectionUtils.java:75)
           at 
org.apache.hudi.storage.HoodieStorageUtils.getStorage(HoodieStorageUtils.java:41)
           ... 8 more
   Caused by: java.lang.reflect.InvocationTargetException
           at 
java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native
 Method)
           at 
java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(Unknown
 Source)
           at 
java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown
 Source)
           at java.base/java.lang.reflect.Constructor.newInstance(Unknown 
Source)
           at 
org.apache.hudi.common.util.ReflectionUtils.loadClass(ReflectionUtils.java:73)
           ... 9 more
   Caused by: java.lang.NoClassDefFoundError: 
org/apache/hadoop/fs/statistics/IOStatisticsSource
           at java.base/java.lang.ClassLoader.defineClass1(Native Method)
           at java.base/java.lang.ClassLoader.defineClass(Unknown Source)
           at java.base/java.security.SecureClassLoader.defineClass(Unknown 
Source)
           at 
java.base/jdk.internal.loader.BuiltinClassLoader.defineClass(Unknown Source)
           at 
java.base/jdk.internal.loader.BuiltinClassLoader.findClassOnClassPathOrNull(Unknown
 Source)
           at 
java.base/jdk.internal.loader.BuiltinClassLoader.loadClassOrNull(Unknown Source)
           at 
java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(Unknown Source)
           at 
java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(Unknown 
Source)
           at java.base/java.lang.ClassLoader.loadClass(Unknown Source)
           at java.base/java.lang.Class.forName0(Native Method)
           at java.base/java.lang.Class.forName(Unknown Source)
           at 
org.apache.hadoop.conf.Configuration.getClassByNameOrNull(Configuration.java:2365)
           at 
org.apache.hadoop.conf.Configuration.getClassByName(Configuration.java:2330)
           at 
org.apache.hadoop.conf.Configuration.getClass(Configuration.java:2426)
           at 
org.apache.hadoop.fs.FileSystem.getFileSystemClass(FileSystem.java:3227)
           at 
org.apache.hadoop.fs.FileSystem.createFileSystem(FileSystem.java:3259)
           at org.apache.hadoop.fs.FileSystem.access$200(FileSystem.java:121)
           at 
org.apache.hadoop.fs.FileSystem$Cache.getInternal(FileSystem.java:3310)
           at org.apache.hadoop.fs.FileSystem$Cache.get(FileSystem.java:3278)
           at org.apache.hadoop.fs.FileSystem.get(FileSystem.java:475)
           at org.apache.hadoop.fs.Path.getFileSystem(Path.java:356)
           at 
org.apache.hudi.hadoop.fs.HadoopFSUtils.getFs(HadoopFSUtils.java:116)
           at 
org.apache.hudi.hadoop.fs.HadoopFSUtils.getFs(HadoopFSUtils.java:109)
           at 
org.apache.hudi.storage.hadoop.HoodieHadoopStorage.<init>(HoodieHadoopStorage.java:63)
           ... 14 more
   Caused by: java.lang.ClassNotFoundException: 
org.apache.hadoop.fs.statistics.IOStatisticsSource
           at 
java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(Unknown Source)
           at 
java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(Unknown 
Source)
           at java.base/java.lang.ClassLoader.loadClass(Unknown Source)
           ... 38 more
   ```
   
   The fix is to delete 3.3.4 and use AWS Hadoop 2.10.2 libraries.  Make sure 
that only one jar is in classpath.  
   
   
   **Expected behavior**
   
   No error.
   
   **Environment Description**
   
   * Hudi version :
   
   * Spark version :
   
   * Hive version :
   
   * Hadoop version :
   
   * Storage (HDFS/S3/GCS..) :
   
   * Running on Docker? (yes/no) :
   
   
   **Additional context**
   
   Add any other context about the problem here.
   
   **Stacktrace**
   
   ```Add the stacktrace of the error.```
   
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to