关于Trino连接phoenix5.x那些事

本文档详细介绍了如何在已有的JDK1.8环境下,为Trino安装JDK11并配置环境变量,以及如何部署Trino服务器,包括配置文件设置、启动Trino和连接器配置。特别提到了Trino与Phoenix5.x的连接,强调了配置文件如`config.properties`和`phoenix.properties`的重要性。最后,还展示了如何使用dbeaver通过JDBC连接Trino。

关于Trino连接phoenix5.x那些事

1. 下载Trino包

trino-server-359.tar.gz

2.Trion部署环境

2.1 jdk

	Trino 需要 64 位版本的 Java 11,最低要求版本为 11.0.11。较早的补丁版本(例如 11.0.2)不起作用,较早的主要版本(例如 Java 8)也不起作用。

	官方建议使用[Azul Zulu](https://www.azul.com/downloads/zulu-community/) 作为 Trino 的 JDK,因为 Trino 已针对该发行版进行了测试。Zulu 也是[Trino Docker 镜像](https://hub.docker.com/r/trinodb/trino)使用的 JDK 。

	由于公司使用的是jdk1.8 ,为避免版本更新对集群现有项目的影响,故在各台服务器中添加新的用户,在新的用户中安装jdk11,并在该用户中配置jdk11环境变量。
	useradd trino
	tar -zxvf zulu11.48.21-ca-jdk11.0.11-linux_x64.tar.gz 
	mv zulu11.45.27-ca-jdk11.0.10-linux_x64 jdk11
	chown -R trino ./jdk11
	
	vim ~/.bash_profile
	
	export JAVA_HOME=/home/trino/jdk11
	export JRE_HOME=$JAVA_HOME/jre
	export PATH=$JAVA_HOME/bin:$PATH
	export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib/rt.jar

	source ~/.bash_profile
	java -version
1.使用如下命令添加trino用户
	useradd trino 
2.上传tar包至服务器指定路径下
3.解压缩.tar.gz
tar -zxvf zulu11.48.21-ca-jdk11.0.11-linux_x64.tar.gz 
4.修改目录所有者及用户组
chown -R tr
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、付费专栏及课程。

余额充值