trino on alluxio报java.lang.NoClassDefFoundError: Could not initialize class alluxio.metrics.MetricsS

文章描述了在Trino系统中遇到的NoClassDefFoundError,源于alluxio.metrics.MetricsSystem类未初始化。解决方法指出,如果Hive插件目录下已有alluxio-shaded-client.jar,无需额外拷贝官方alluxio-2.9.3-client.jar,只需确认冲突的jar包即可。
Caused by: java.lang.NoClassDefFoundError: Could not initialize class alluxio.metrics.MetricsSystem
	at alluxio.client.file.FileSystemContext.initContext(FileSystemContext.java:316)
	at alluxio.client.file.FileSystemContext.init(FileSystemContext.java:305)
	at alluxio.client.file.FileSystemContext.create(FileSystemContext.java:256)
	at alluxio.client.file.FileSystemContext.create(FileSystemContext.java:225)
	at alluxio.client.file.FileSystem$Factory.create(FileSystem.java:146)
	at alluxio.hadoop.AbstractFileSystem.initialize(AbstractFileSystem.java:541)
	at alluxio.hadoop.AbstractFileSystem.initialize(AbstractFileSystem.java:480)
	at io.trino.hdfs.TrinoFileSystemCache.createFileSystem(TrinoFileSystemCache.java:155)
	at io.trino.hdfs.TrinoFileSystemCache$FileSystemHolder.createFileSystemOnce(TrinoFileSystemCache.java:293)
	at io.trino.hdfs.TrinoFileSystemCache.getInternal(TrinoFileSystemCache.java:135)
	at io.trino.hdfs.TrinoFileSystemCache.get(TrinoFileSystemCache.java:91)
	at org.apache.hadoop.fs.ForwardingFileSystemCache.get(ForwardingFileSystemCache.java:39)
	at org.apache.hadoop.fs.FileSystem.get(FileSystem.java:557)
	at org.apache.hadoop.fs.Path.getFileSystem(Path.java:365)
	at io.trino.hdfs.HdfsEnvironment.lambda$getFileSystem$0(HdfsEnvironment.java:103)
	at io.trino.hdfs.authentication.NoHdfsAuthentication.doAs(NoHdfsAuthentication.java:25)
	at io.trino.hdfs.HdfsEnvironment.getFileSystem(HdfsEnvironment.java:102)
	at io.trino.hdfs.HdfsEnvironment.getFileSystem(HdfsEnvironment.java:96)
	at io.trino.plugin.hive.BackgroundHiveSplitLoader.loadPartition(BackgroundHiveSplitLoader.java:434)
	at io.trino.plugin.hive.BackgroundHiveSplitLoader.loadSplits(BackgroundHiveSplitLoader.java:396)
	at io.trino.plugin.hive.BackgroundHiveSplitLoader$HiveSplitLoaderTask.process(BackgroundHiveSplitLoader.java:310)
	... 6 more

错误原因

根据官网需将alluxio-2.9.3-client.jar放在{Trino_HOME}/plugin/hive/ 下(我的trino版本是423)。但是在{Trino_HOME}/plugin/hive/已经有了alluxio-shaded-client-2.9.3.jar包,两者冲突。

解决办法

先看自己{Trino_HOME}/plugin/hive/下是否存在alluxio的client jar包,如存在就不必按照官网要求将alluxio的client jar包拷贝到{Trino_HOME}/plugin/hive/中。

2025-06-11T09:14:50.485+0800 ERROR SplitRunner-20250611_011450_00344_fmh9x.1.1.0-11-2005 com.google.common.util.concurrent.AggregateFuture Got more than one input Future failure. Logging failures after the first io.trino.spi.TrinoException: Error opening Iceberg split hdfs://bigdata/user/hive/warehouse/chuzuche.db/ods_tocc_passenger_driver/data/00002-0-4232e133-6e41-47dd-b29a-dc3fd7f11dec-00048.parquet (offset=0, length=569): Cannot invoke "org.apache.hadoop.hdfs.BlockReader.available()" because "this.blockReader" is null at io.trino.plugin.iceberg.IcebergPageSourceProvider.createParquetPageSource(IcebergPageSourceProvider.java:1052) at io.trino.plugin.iceberg.IcebergPageSourceProvider.createDataPageSource(IcebergPageSourceProvider.java:553) at io.trino.plugin.iceberg.IcebergPageSourceProvider.openDeletes(IcebergPageSourceProvider.java:498) at io.trino.plugin.iceberg.IcebergPageSourceProvider.lambda$createPageSource$8(IcebergPageSourceProvider.java:395) at io.trino.plugin.iceberg.delete.EqualityDeleteFilter$EqualityDeleteFilterBuilder.readEqualityDeletesInternal(EqualityDeleteFilter.java:110) at io.trino.plugin.iceberg.delete.EqualityDeleteFilter$EqualityDeleteFilterBuilder.lambda$readEqualityDeletes$0(EqualityDeleteFilter.java:102) at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:572) at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317) at io.trino.plugin.iceberg.delete.EqualityDeleteFilter$EqualityDeleteFilterBuilder.readEqualityDeletes(EqualityDeleteFilter.java:103) at io.trino.plugin.iceberg.delete.DeleteManager.createEqualityDeleteFilter(DeleteManager.java:200) at io.trino.plugin.iceberg.delete.DeleteManager.getDeletePredicate(DeleteManager.java:98) at io.trino.plugin.iceberg.IcebergPageSourceProvider.lambda$createPageSource$9(IcebergPageSourceProvider.java:388) at com.google.common.base.Suppliers$NonSerializableMemoizingSupplier.get(Suppliers.java:186) at io.trino.plugin.iceberg.IcebergPageSource.getNextPage(IcebergPageSource.java:132) at io.trino.operator.TableScanOperator.getOutput(TableScanOperator.java:268) at io.trino.operator.Driver.processInternal(Driver.java:403) at io.trino.operator.Driver.lambda$process$8(Driver.java:306) at io.trino.operator.Driver.tryWithLock(Driver.java:709) at io.trino.operator.Driver.process(Driver.java:298) at io.trino.operator.Driver.processForDuration(Driver.java:269) at io.trino.execution.SqlTaskExecution$DriverSplitRunner.processFor(SqlTaskExecution.java:890) at io.trino.execution.executor.dedicated.SplitProcessor.run(SplitProcessor.java:77) at io.trino.execution.executor.dedicated.TaskEntry$VersionEmbedderBridge.lambda$run$0(TaskEntry.java:191) at io.trino.$gen.Trino_451____20250610_092944_2.run(Unknown Source) at io.trino.execution.executor.dedicated.TaskEntry$VersionEmbedderBridge.run(TaskEntry.java:192) at io.trino.execution.executor.scheduler.FairScheduler.runTask(FairScheduler.java:168) at io.trino.execution.executor.scheduler.FairScheduler.lambda$submit$0(FairScheduler.java:155) at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:572) at com.google.common.util.concurrent.TrustedListenableFutureTask$TrustedFutureInterruptibleTask.runInterruptibly(TrustedListenableFutureTask.java:131) at com.google.common.util.concurrent.InterruptibleTask.run(InterruptibleTask.java:76) at com.google.common.util.concurrent.TrustedListenableFutureTask.run(TrustedListenableFutureTask.java:82) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) at java.base/java.lang.Thread.run(Thread.java:1570) Caused by: java.lang.NullPointerException: Cannot invoke "org.apache.hadoop.hdfs.BlockReader.available()" because "this.blockReader" is null at org.apache.hadoop.hdfs.DFSInputStream.seek(DFSInputStream.java:1575) at org.apache.hadoop.fs.FSDataInputStream.seek(FSDataInputStream.java:73) at org.apache.hadoop.fs.FSDataInputStream.seek(FSDataInputStream.java:73) at io.trino.hdfs.FSDataInputStreamTail.readTail(FSDataInputStreamTail.java:67) at io.trino.filesystem.hdfs.HdfsInput.readTail(HdfsInput.java:63) at io.trino.filesystem.TrinoInput.readTail(TrinoInput.java:43) at io.trino.filesystem.tracing.TracingInput.lambda$readTail$3(TracingInput.java:81) at io.trino.filesystem.tracing.Tracing.withTracing(Tracing.java:47) at io.trino.filesystem.tracing.TracingInput.readTail(TracingInput.java:81) at io.trino.plugin.hive.parquet.MemoryParquetDataSource.<init>(MemoryParquetDataSource.java:56) at io.trino.plugin.hive.parquet.ParquetPageSourceFactory.createDataSource(ParquetPageSourceFactory.java:321) at io.trino.plugin.iceberg.IcebergPageSourceProvider.createParquetPageSource(IcebergPageSourceProvider.java:914) ... 33 more 2025-06-11T09:14:50.485+0800 ERROR SplitRunner-20250611_011450_00344_fmh9x.1.1.0-7-2010 com.google.common.util.concurrent.AggregateFuture Got more than one input Future failure. Logging failures after the first io.trino.spi.TrinoException: Error opening Iceberg split hdfs://bigdata/user/hive/warehouse/chuzuche.db/ods_tocc_passenger_driver/data/00002-0-4232e133-6e41-47dd-b29a-dc3fd7f11dec-00048.parquet (offset=0, length=569): Cannot invoke "org.apache.hadoop.hdfs.BlockReader.available()" because "this.blockReader" is null at io.trino.plugin.iceberg.IcebergPageSourceProvider.createParquetPageSource(IcebergPageSourceProvider.java:1052) at io.trino.plugin.iceberg.IcebergPageSourceProvider.createDataPageSource(IcebergPageSourceProvider.java:553) at io.trino.plugin.iceberg.IcebergPageSourceProvider.openDeletes(IcebergPageSourceProvider.java:498) at io.trino.plugin.iceberg.IcebergPageSourceProvider.lambda$createPageSource$8(IcebergPageSourceProvider.java:395) at io.trino.plugin.iceberg.delete.EqualityDeleteFilter$EqualityDeleteFilterBuilder.readEqualityDeletesInternal(EqualityDeleteFilter.java:110) at io.trino.plugin.iceberg.delete.EqualityDeleteFilter$EqualityDeleteFilterBuilder.lambda$readEqualityDeletes$0(EqualityDeleteFilter.java:102) at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:572) at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317) at io.trino.plugin.iceberg.delete.EqualityDeleteFilter$EqualityDeleteFilterBuilder.readEqualityDeletes(EqualityDeleteFilter.java:103) at io.trino.plugin.iceberg.delete.DeleteManager.createEqualityDeleteFilter(DeleteManager.java:200) at io.trino.plugin.iceberg.delete.DeleteManager.getDeletePredicate(DeleteManager.java:98) at io.trino.plugin.iceberg.IcebergPageSourceProvider.lambda$createPageSource$9(IcebergPageSourceProvider.java:388) at com.google.common.base.Suppliers$NonSerializableMemoizingSupplier.get(Suppliers.java:186) at io.trino.plugin.iceberg.IcebergPageSource.getNextPage(IcebergPageSource.java:132) at io.trino.operator.TableScanOperator.getOutput(TableScanOperator.java:268) at io.trino.operator.Driver.processInternal(Driver.java:403) at io.trino.operator.Driver.lambda$process$8(Driver.java:306) at io.trino.operator.Driver.tryWithLock(Driver.java:709) at io.trino.operator.Driver.process(Driver.java:298) at io.trino.operator.Driver.processForDuration(Driver.java:269) at io.trino.execution.SqlTaskExecution$DriverSplitRunner.processFor(SqlTaskExecution.java:890) at io.trino.execution.executor.dedicated.SplitProcessor.run(SplitProcessor.java:77) at io.trino.execution.executor.dedicated.TaskEntry$VersionEmbedderBridge.lambda$run$0(TaskEntry.java:191) at io.trino.$gen.Trino_451____20250610_092944_2.run(Unknown Source) at io.trino.execution.executor.dedicated.TaskEntry$VersionEmbedderBridge.run(TaskEntry.java:192) at io.trino.execution.executor.scheduler.FairScheduler.runTask(FairScheduler.java:168) at io.trino.execution.executor.scheduler.FairScheduler.lambda$submit$0(FairScheduler.java:155) at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:572) at com.google.common.util.concurrent.TrustedListenableFutureTask$TrustedFutureInterruptibleTask.runInterruptibly(TrustedListenableFutureTask.java:131) at com.google.common.util.concurrent.InterruptibleTask.run(InterruptibleTask.java:76) at com.google.common.util.concurrent.TrustedListenableFutureTask.run(TrustedListenableFutureTask.java:82) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) at java.base/java.lang.Thread.run(Thread.java:1570) Caused by: java.lang.NullPointerException: Cannot invoke "org.apache.hadoop.hdfs.BlockReader.available()" because "this.blockReader" is null at org.apache.hadoop.hdfs.DFSInputStream.seek(DFSInputStream.java:1575) at org.apache.hadoop.fs.FSDataInputStream.seek(FSDataInputStream.java:73) at org.apache.hadoop.fs.FSDataInputStream.seek(FSDataInputStream.java:73) at io.trino.hdfs.FSDataInputStreamTail.readTail(FSDataInputStreamTail.java:67) at io.trino.filesystem.hdfs.HdfsInput.readTail(HdfsInput.java:63) at io.trino.filesystem.TrinoInput.readTail(TrinoInput.java:43) at io.trino.filesystem.tracing.TracingInput.lambda$readTail$3(TracingInput.java:81) at io.trino.filesystem.tracing.Tracing.withTracing(Tracing.java:47) at io.trino.filesystem.tracing.TracingInput.readTail(TracingInput.java:81) at io.trino.plugin.hive.parquet.MemoryParquetDataSource.<init>(MemoryParquetDataSource.java:56) at io.trino.plugin.hive.parquet.ParquetPageSourceFactory.createDataSource(ParquetPageSourceFactory.java:321) at io.trino.plugin.iceberg.IcebergPageSourceProvider.createParquetPageSource(IcebergPageSourceProvider.java:914) ... 33 more 2025-06-11T09:14:50.485+0800 ERROR SplitRunner-20250611_011450_00344_fmh9x.1.1.0-10-1999 com.google.common.util.concurrent.AggregateFuture Got more than one input Future failure. Logging failures after the first io.trino.spi.TrinoException: Error opening Iceberg split hdfs://bigdata/user/hive/warehouse/chuzuche.db/ods_tocc_passenger_driver/data/00002-0-4232e133-6e41-47dd-b29a-dc3fd7f11dec-00048.parquet (offset=0, length=569): Cannot invoke "org.apache.hadoop.hdfs.BlockReader.available()" because "this.blockReader" is null at io.trino.plugin.iceberg.IcebergPageSourceProvider.createParquetPageSource(IcebergPageSourceProvider.java:1052) at io.trino.plugin.iceberg.IcebergPageSourceProvider.createDataPageSource(IcebergPageSourceProvider.java:553) at io.trino.plugin.iceberg.IcebergPageSourceProvider.openDeletes(IcebergPageSourceProvider.java:498) at io.trino.plugin.iceberg.IcebergPageSourceProvider.lambda$createPageSource$8(IcebergPageSourceProvider.java:395) at io.trino.plugin.iceberg.delete.EqualityDeleteFilter$EqualityDeleteFilterBuilder.readEqualityDeletesInternal(EqualityDeleteFilter.java:110) at io.trino.plugin.iceberg.delete.EqualityDeleteFilter$EqualityDeleteFilterBuilder.lambda$readEqualityDeletes$0(EqualityDeleteFilter.java:102) at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:572) at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317) at io.trino.plugin.iceberg.delete.EqualityDeleteFilter$EqualityDeleteFilterBuilder.readEqualityDeletes(EqualityDeleteFilter.java:103) at io.trino.plugin.iceberg.delete.DeleteManager.createEqualityDeleteFilter(DeleteManager.java:200) at io.trino.plugin.iceberg.delete.DeleteManager.getDeletePredicate(DeleteManager.java:98) at io.trino.plugin.iceberg.IcebergPageSourceProvider.lambda$createPageSource$9(IcebergPageSourceProvider.java:388) at com.google.common.base.Suppliers$NonSerializableMemoizingSupplier.get(Suppliers.java:186) at io.trino.plugin.iceberg.IcebergPageSource.getNextPage(IcebergPageSource.java:132) at io.trino.operator.TableScanOperator.getOutput(TableScanOperator.java:268) at io.trino.operator.Driver.processInternal(Driver.java:403) at io.trino.operator.Driver.lambda$process$8(Driver.java:306) at io.trino.operator.Driver.tryWithLock(Driver.java:709) at io.trino.operator.Driver.process(Driver.java:298) at io.trino.operator.Driver.processForDuration(Driver.java:269) at io.trino.execution.SqlTaskExecution$DriverSplitRunner.processFor(SqlTaskExecution.java:890) at io.trino.execution.executor.dedicated.SplitProcessor.run(SplitProcessor.java:77) at io.trino.execution.executor.dedicated.TaskEntry$VersionEmbedderBridge.lambda$run$0(TaskEntry.java:191) at io.trino.$gen.Trino_451____20250610_092944_2.run(Unknown Source) at io.trino.execution.executor.dedicated.TaskEntry$VersionEmbedderBridge.run(TaskEntry.java:192) at io.trino.execution.executor.scheduler.FairScheduler.runTask(FairScheduler.java:168) at io.trino.execution.executor.scheduler.FairScheduler.lambda$submit$0(FairScheduler.java:155) at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:572) at com.google.common.util.concurrent.TrustedListenableFutureTask$TrustedFutureInterruptibleTask.runInterruptibly(TrustedListenableFutureTask.java:131) at com.google.common.util.concurrent.InterruptibleTask.run(InterruptibleTask.java:76) at com.google.common.util.concurrent.TrustedListenableFutureTask.run(TrustedListenableFutureTask.java:82) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) at java.base/java.lang.Thread.run(Thread.java:1570) Caused by: java.lang.NullPointerException: Cannot invoke "org.apache.hadoop.hdfs.BlockReader.available()" because "this.blockReader" is null at org.apache.hadoop.hdfs.DFSInputStream.seek(DFSInputStream.java:1575) at org.apache.hadoop.fs.FSDataInputStream.seek(FSDataInputStream.java:73) at org.apache.hadoop.fs.FSDataInputStream.seek(FSDataInputStream.java:73) at io.trino.hdfs.FSDataInputStreamTail.readTail(FSDataInputStreamTail.java:67) at io.trino.filesystem.hdfs.HdfsInput.readTail(HdfsInput.java:63) at io.trino.filesystem.TrinoInput.readTail(TrinoInput.java:43) at io.trino.filesystem.tracing.TracingInput.lambda$readTail$3(TracingInput.java:81) at io.trino.filesystem.tracing.Tracing.withTracing(Tracing.java:47) at io.trino.filesystem.tracing.TracingInput.readTail(TracingInput.java:81) at io.trino.plugin.hive.parquet.MemoryParquetDataSource.<init>(MemoryParquetDataSource.java:56) at io.trino.plugin.hive.parquet.ParquetPageSourceFactory.createDataSource(ParquetPageSourceFactory.java:321) at io.trino.plugin.iceberg.IcebergPageSourceProvider.createParquetPageSource(IcebergPageSourceProvider.java:914) ... 33 more什么问题
06-12
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值