-
Notifications
You must be signed in to change notification settings - Fork 458
Open
Bug
5 / 95 of 9 issues completed
Copy link
Labels
Milestone
Description
Search before asking
- I searched in the issues and found nothing similar.
Fluss version
0.7.0 (latest release)
Please describe the bug 🐞
Problem1
This is reported in https://apache-fluss.slack.com/archives/C08QXHUH3M1/p1752314994560869 by George Leonard (see more detailed information and files in the slack thread).
I copied the important configuration to here. The NoClassDefFoundError of HdfsConfiguration can be reproduced by following steps:
- Configure
datalake.formatpaimon with filesystem metastore and a local warehouse path on each Fluss server - Download
fluss-fs-hadoop-0.7.0.jar,fluss-fs-s3-0.7.0.jar,fluss-lake-paimon-0.7.0.jarinto<FLUSS_HOME>/lib - Start all the Fluss servers and Coordinator reports the error.
If remove step 2, all the things work. If adding flink-shaded-hadoop-2-uber-2.8.3-10.0.jar into fluss/lib, it also works.
zookeeper.address: zookeeper:2181
coordinator.host: coordinator-server
remote.data.dir: hdfs://namenode:9000/fluss
datalake.format: paimon
datalake.paimon.metastore: filesystem
datalake.paimon.warehouse: /tmp/paimon
coordinator-server | 2025-07-12 10:00:26,777 ERROR com.alibaba.fluss.server.ServerBase [] - Could not start the CoordinatorServer.
coordinator-server | java.lang.NoClassDefFoundError: org/apache/hadoop/hdfs/HdfsConfiguration
coordinator-server | at org.apache.paimon.catalog.CatalogContext.<init>(CatalogContext.java:53) ~[fluss-lake-paimon-0.7.0.jar:0.7.0]
coordinator-server | at org.apache.paimon.catalog.CatalogContext.create(CatalogContext.java:65) ~[fluss-lake-paimon-0.7.0.jar:0.7.0]
coordinator-server | at com.alibaba.fluss.lake.paimon.PaimonLakeCatalog.<init>(PaimonLakeCatalog.java:71) ~[fluss-lake-paimon-0.7.0.jar:0.7.0]
coordinator-server | at com.alibaba.fluss.lake.paimon.PaimonLakeStorage.createLakeCatalog(PaimonLakeStorage.java:42) ~[fluss-lake-paimon-0.7.0.jar:0.7.0]
coordinator-server | at com.alibaba.fluss.lake.paimon.PaimonLakeStorage.createLakeCatalog(PaimonLakeStorage.java:27) ~[fluss-lake-paimon-0.7.0.jar:0.7.0]
coordinator-server | at com.alibaba.fluss.server.coordinator.CoordinatorServer.createLakeCatalog(CoordinatorServer.java:258) ~[fluss-server-0.7.0.jar:0.7.0]
coordinator-server | at com.alibaba.fluss.server.coordinator.CoordinatorServer.startServices(CoordinatorServer.java:195) ~[fluss-server-0.7.0.jar:0.7.0]
coordinator-server | at com.alibaba.fluss.server.ServerBase.start(ServerBase.java:118) [fluss-server-0.7.0.jar:0.7.0]
coordinator-server | at com.alibaba.fluss.server.ServerBase.startServer(ServerBase.java:88) [fluss-server-0.7.0.jar:0.7.0]
coordinator-server | at com.alibaba.fluss.server.coordinator.CoordinatorServer.main(CoordinatorServer.java:154) [fluss-server-0.7.0.jar:0.7.0]
coordinator-server | Caused by: java.lang.ClassNotFoundException: org.apache.hadoop.hdfs.HdfsConfiguration
coordinator-server | at jdk.internal.loader.BuiltinClassLoader.loadClass(Unknown Source) ~[?:?]
coordinator-server | at jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(Unknown Source) ~[?:?]
coordinator-server | at java.lang.ClassLoader.loadClass(Unknown Source) ~[?:?]
coordinator-server | ... 10 more
coordinator-server | 2025-07-12 10:00:26,789 ERROR com.alibaba.fluss.server.ServerBase [] - Could not start CoordinatorServer.
coordinator-server | com.alibaba.fluss.exception.FlussException: Failed to start the CoordinatorServer.
coordinator-server | at com.alibaba.fluss.server.ServerBase.start(ServerBase.java:131) ~[fluss-server-0.7.0.jar:0.7.0]
coordinator-server | at com.alibaba.fluss.server.ServerBase.startServer(ServerBase.java:88) [fluss-server-0.7.0.jar:0.7.0]
coordinator-server | at com.alibaba.fluss.server.coordinator.CoordinatorServer.main(CoordinatorServer.java:154) [fluss-server-0.7.0.jar:0.7.0]
coordinator-server | Caused by: java.lang.NoClassDefFoundError: org/apache/hadoop/hdfs/HdfsConfiguration
coordinator-server | at org.apache.paimon.catalog.CatalogContext.<init>(CatalogContext.java:53) ~[fluss-lake-paimon-0.7.0.jar:0.7.0]
coordinator-server | at org.apache.paimon.catalog.CatalogContext.create(CatalogContext.java:65) ~[fluss-lake-paimon-0.7.0.jar:0.7.0]
coordinator-server | at com.alibaba.fluss.lake.paimon.PaimonLakeCatalog.<init>(PaimonLakeCatalog.java:71) ~[fluss-lake-paimon-0.7.0.jar:0.7.0]
coordinator-server | at com.alibaba.fluss.lake.paimon.PaimonLakeStorage.createLakeCatalog(PaimonLakeStorage.java:42) ~[fluss-lake-paimon-0.7.0.jar:0.7.0]
coordinator-server | at com.alibaba.fluss.lake.paimon.PaimonLakeStorage.createLakeCatalog(PaimonLakeStorage.java:27) ~[fluss-lake-paimon-0.7.0.jar:0.7.0]
coordinator-server | at com.alibaba.fluss.server.coordinator.CoordinatorServer.createLakeCatalog(CoordinatorServer.java:258) ~[fluss-server-0.7.0.jar:0.7.0]
coordinator-server | at com.alibaba.fluss.server.coordinator.CoordinatorServer.startServices(CoordinatorServer.java:195) ~[fluss-server-0.7.0.jar:0.7.0]
coordinator-server | at com.alibaba.fluss.server.ServerBase.start(ServerBase.java:118) ~[fluss-server-0.7.0.jar:0.7.0]
coordinator-server | ... 2 more
coordinator-server | Caused by: java.lang.ClassNotFoundException: org.apache.hadoop.hdfs.HdfsConfiguration
coordinator-server | at jdk.internal.loader.BuiltinClassLoader.loadClass(Unknown Source) ~[?:?]
coordinator-server | at jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(Unknown Source) ~[?:?]
coordinator-server | at java.lang.ClassLoader.loadClass(Unknown Source) ~[?:?]
coordinator-server | at org.apache.paimon.catalog.CatalogContext.<init>(CatalogContext.java:53) ~[fluss-lake-paimon-0.7.0.jar:0.7.0]
coordinator-server | at org.apache.paimon.catalog.CatalogContext.create(CatalogContext.java:65) ~[fluss-lake-paimon-0.7.0.jar:0.7.0]
coordinator-server | at com.alibaba.fluss.lake.paimon.PaimonLakeCatalog.<init>(PaimonLakeCatalog.java:71) ~[fluss-lake-paimon-0.7.0.jar:0.7.0]
coordinator-server | at com.alibaba.fluss.lake.paimon.PaimonLakeStorage.createLakeCatalog(PaimonLakeStorage.java:42) ~[fluss-lake-paimon-0.7.0.jar:0.7.0]
coordinator-server | at com.alibaba.fluss.lake.paimon.PaimonLakeStorage.createLakeCatalog(PaimonLakeStorage.java:27) ~[fluss-lake-paimon-0.7.0.jar:0.7.0]
coordinator-server | at com.alibaba.fluss.server.coordinator.CoordinatorServer.createLakeCatalog(CoordinatorServer.java:258) ~[fluss-server-0.7.0.jar:0.7.0]
coordinator-server | at com.alibaba.fluss.server.coordinator.CoordinatorServer.startServices(CoordinatorServer.java:195) ~[fluss-server-0.7.0.jar:0.7.0]
coordinator-server | at com.alibaba.fluss.server.ServerBase.start(ServerBase.java:118) ~[fluss-server-0.7.0.jar:0.7.0]
coordinator-server | ... 2 more
Problem2
Reverting to fluss/fluss:0.7.0 with a dockerfile tha references lakehouse storage tiering/paimon/hdfs with the same configuration,
zookeeper.address: zookeeper:2181
coordinator.host: coordinator-server
remote.data.dir: hdfs://namenode:9000/fluss
datalake.format: paimon
datalake.paimon.metastore: filesystem
datalake.paimon.warehouse: /tmp/paimon
it throws the exception during initialize fluss HDFS fs.
| 2025-07-12 13:25:56,802 ERROR com.alibaba.fluss.server.ServerBase [] - Could not start CoordinatorServer.
coordinator-server | com.alibaba.fluss.exception.FlussException: Failed to start the CoordinatorServer.
coordinator-server | at com.alibaba.fluss.server.ServerBase.start(ServerBase.java:131) ~[fluss-server-0.7.0.jar:0.7.0]
coordinator-server | at com.alibaba.fluss.server.ServerBase.startServer(ServerBase.java:88) [fluss-server-0.7.0.jar:0.7.0]
coordinator-server | at com.alibaba.fluss.server.coordinator.CoordinatorServer.main(CoordinatorServer.java:154) [fluss-server-0.7.0.jar:0.7.0]
coordinator-server | Caused by: com.alibaba.fluss.fs.UnsupportedFileSystemSchemeException: Cannot support file system for 'hdfs' via Hadoop, because Hadoop is not in the classpath, or some classes are missing from the classpath.
coordinator-server | at com.alibaba.fluss.fs.hdfs.HadoopFsPlugin.create(HadoopFsPlugin.java:160) ~[?:?]
coordinator-server | at com.alibaba.fluss.fs.PluginFileSystemWrapper.create(PluginFileSystemWrapper.java:58) ~[fluss-server-0.7.0.jar:0.7.0]
coordinator-server | at com.alibaba.fluss.fs.FileSystem.lambda$getUnguardedFileSystem$3(FileSystem.java:400) ~[fluss-server-0.7.0.jar:0.7.0]
coordinator-server | at com.alibaba.fluss.utils.concurrent.LockUtils.inLock(LockUtils.java:41) ~[fluss-server-0.7.0.jar:0.7.0]
coordinator-server | at com.alibaba.fluss.fs.FileSystem.getUnguardedFileSystem(FileSystem.java:305) ~[fluss-server-0.7.0.jar:0.7.0]
coordinator-server | at com.alibaba.fluss.fs.FileSystem.get(FileSystem.java:300) ~[fluss-server-0.7.0.jar:0.7.0]
coordinator-server | at com.alibaba.fluss.fs.FsPath.getFileSystem(FsPath.java:264) ~[fluss-server-0.7.0.jar:0.7.0]
coordinator-server | at com.alibaba.fluss.server.ServerBase.start(ServerBase.java:116) ~[fluss-server-0.7.0.jar:0.7.0]
coordinator-server | ... 2 more
coordinator-server | Caused by: java.lang.NoClassDefFoundError: org/apache/hadoop/hdfs/HdfsConfiguration
coordinator-server | at com.alibaba.fluss.fs.hdfs.HadoopFsPlugin.create(HadoopFsPlugin.java:70) ~[?:?]
coordinator-server | at com.alibaba.fluss.fs.PluginFileSystemWrapper.create(PluginFileSystemWrapper.java:58) ~[fluss-server-0.7.0.jar:0.7.0]
coordinator-server | at com.alibaba.fluss.fs.FileSystem.lambda$getUnguardedFileSystem$3(FileSystem.java:400) ~[fluss-server-0.7.0.jar:0.7.0]
coordinator-server | at com.alibaba.fluss.utils.concurrent.LockUtils.inLock(LockUtils.java:41) ~[fluss-server-0.7.0.jar:0.7.0]
coordinator-server | at com.alibaba.fluss.fs.FileSystem.getUnguardedFileSystem(FileSystem.java:305) ~[fluss-server-0.7.0.jar:0.7.0]
coordinator-server | at com.alibaba.fluss.fs.FileSystem.get(FileSystem.java:300) ~[fluss-server-0.7.0.jar:0.7.0]
coordinator-server | at com.alibaba.fluss.fs.FsPath.getFileSystem(FsPath.java:264) ~[fluss-server-0.7.0.jar:0.7.0]
coordinator-server | at com.alibaba.fluss.server.ServerBase.start(ServerBase.java:116) ~[fluss-server-0.7.0.jar:0.7.0]
coordinator-server | ... 2 more
coordinator-server | Caused by: java.lang.ClassNotFoundException: org.apache.hadoop.hdfs.HdfsConfiguration
coordinator-server | at java.net.URLClassLoader.findClass(Unknown Source) ~[?:?]
coordinator-server | at java.lang.ClassLoader.loadClass(Unknown Source) ~[?:?]
coordinator-server | at com.alibaba.fluss.classloading.ComponentClassLoader.loadClassFromComponentOnly(ComponentClassLoader.java:152) ~[fluss-server-0.7.0.jar:0.7.0]
coordinator-server | at com.alibaba.fluss.classloading.ComponentClassLoader.loadClass(ComponentClassLoader.java:115) ~[fluss-server-0.7.0.jar:0.7.0]
coordinator-server | at java.lang.ClassLoader.loadClass(Unknown Source) ~[?:?]
coordinator-server | at com.alibaba.fluss.fs.hdfs.HadoopFsPlugin.create(HadoopFsPlugin.java:70) ~[?:?]
coordinator-server | at com.alibaba.fluss.fs.PluginFileSystemWrapper.create(PluginFileSystemWrapper.java:58) ~[fluss-server-0.7.0.jar:0.7.0]
coordinator-server | at com.alibaba.fluss.fs.FileSystem.lambda$getUnguardedFileSystem$3(FileSystem.java:400) ~[fluss-server-0.7.0.jar:0.7.0]
coordinator-server | at com.alibaba.fluss.utils.concurrent.LockUtils.inLock(LockUtils.java:41) ~[fluss-server-0.7.0.jar:0.7.0]
coordinator-server | at com.alibaba.fluss.fs.FileSystem.getUnguardedFileSystem(FileSystem.java:305) ~[fluss-server-0.7.0.jar:0.7.0]
coordinator-server | at com.alibaba.fluss.fs.FileSystem.get(FileSystem.java:300) ~[fluss-server-0.7.0.jar:0.7.0]
coordinator-server | at com.alibaba.fluss.fs.FsPath.getFileSystem(FsPath.java:264) ~[fluss-server-0.7.0.jar:0.7.0]
coordinator-server | at com.alibaba.fluss.server.ServerBase.start(ServerBase.java:116) ~[fluss-server-0.7.0.jar:0.7.0]
coordinator-server | ... 2 more
Solution
No response
Are you willing to submit a PR?
- I'm willing to submit a PR!