我们正在尝试执行 presto jdbc connection 。我们遵循了简单的例子
https://www.tutorialspoint.com/apache_presto/apache_presto_jdbc_interface.htm
- 添加了罐子,
- 在 eclipse 中作为 java 应用程序运行。
笔记 :
- Presto 安装在 linux 服务器上。presto cli 在 linux 中运行良好。在 linux 中开始 presto 。
- 我们在 Windows 机器 eclipse ide 中运行这个类。我们在 linux 机器上没有防火墙。
- linux机器上也安装了mysql。我们可以使用java代码在windows中访问mysql。但无法从 windows 执行此操作。
还尝试添加 ssl =true 如下所示 connection = DriverManager.getConnection("jdbc:presto://19.255.24.127:8080/mysql/tutorials?user=root&password=Redcar88!&SSL=true");
异常:java.sql.SQLException:在 com.facebook.presto.jdbc.PrestoStatement.execute(PrestoStatement.java:228) 的 com.facebook.presto.jdbc.PrestoStatement.internalExecute(PrestoStatement.java:279) 执行查询时出错com.facebook.presto.jdbc.PrestoStatement.executeQuery(PrestoStatement.java:77) at testdbPresto.PrestoJdbcSample.main(PrestoJdbcSample.java:22) 原因:java.io.UncheckedIOException: javax.net.ssl.SSLException: 不支持或com.facebook.presto.jdbc.internal.client.JsonResponse.execute(JsonResponse.java:154) 上 com.facebook.presto.jdbc.internal.client.StatementClientV1.(StatementClientV1.java:130) 上无法识别的 SSL 消息.facebook.presto.jdbc.internal.client.StatementClientFactory.newStatementClient(StatementClientFactory.java:24) 在 com.facebook.presto.jdbc.QueryExecutor.startQuery(QueryExecutor.java:46) 在 com.facebook.presto.jdbc.PrestoConnection.startQuery(PrestoConnection.java:717) at com.facebook.presto.jdbc.PrestoStatement.internalExecute(PrestoStatement.java:240) ... 3 更多原因:javax.net.ssl.SSLException :在 sun.security.ssl.SSLSocketInputRecord.decode(SSLSocketInputRecord.java:174) 在 sun.security.ssl.SSLTransport.decode 的 sun.security.ssl.SSLSocketInputRecord.handleUnknownRecord(SSLSocketInputRecord.java:448) 中不受支持或无法识别的 SSL 消息(SSLTransport.java:110) 在 sun.security.ssl.SSLSocketImpl.decode(SSLSocketImpl.java:1279) 在 sun.security.ssl.SSLSocketImpl.readHandshakeRecord(SSLSocketImpl.java:1188) 在 sun.security.ssl.SSLSocketImpl。 startHandshake(SSLSocketImpl.java:401) 在 sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:373) 在 com.facebook.presto.jdbc.internal.okhttp3.internal.connection.RealConnection。connectTls(RealConnection.java:299) 在 com.facebook.presto.jdbc.internal.okhttp3.internal.connection.RealConnection.establishProtocol(RealConnection.java:268) 在 com.facebook.presto.jdbc.internal.okhttp3.internal。 connection.RealConnection.connect(RealConnection.java:160) 在 com.facebook.presto.jdbc.internal.okhttp3.internal.connection.StreamAllocation.findConnection(StreamAllocation.java:256) 在 com.facebook.presto.jdbc.internal。 okhttp3.internal.connection.StreamAllocation.findHealthyConnection(StreamAllocation.java:134) 在 com.facebook.presto.jdbc.internal.okhttp3.internal.connection.StreamAllocation.newStream(StreamAllocation.java:113) 在 com.facebook.presto。 jdbc.internal.okhttp3.internal.connection.ConnectInterceptor.intercept(ConnectInterceptor.java:42) 在 com.facebook.presto.jdbc.internal.okhttp3.internal.http.RealInterceptorChain。在 com.facebook.presto.jdbc.internal.okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121) 在 com.facebook.presto.jdbc.internal.okhttp3.internal 继续(RealInterceptorChain.java:147)。 cache.CacheInterceptor.intercept(CacheInterceptor.java:93) 在 com.facebook.presto.jdbc.internal.okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147) 在 com.facebook.presto.jdbc.internal。 okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121) 在 com.facebook.presto.jdbc.internal.okhttp3.internal.http.BridgeInterceptor.intercept(BridgeInterceptor.java:93) 在 com.facebook.presto。 jdbc.internal.okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147) 在 com.facebook.presto.jdbc.internal.okhttp3.internal.http.RetryAndFollowUpInterceptor。在 com.facebook.presto.jdbc.internal.okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147) 在 com.facebook.presto.jdbc.internal.okhttp3.internal 拦截(RetryAndFollowUpInterceptor.java:125)。 http.RealInterceptorChain.proceed(RealInterceptorChain.java:121) 在 com.facebook.presto.jdbc.internal.client.OkHttpUtil.lambda$basicAuth$1(OkHttpUtil.java:91) 在 com.facebook.presto.jdbc.internal.okhttp3 .internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147) 在 com.facebook.presto.jdbc.internal.okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121) 在 com.facebook.presto.jdbc .internal.client.OkHttpUtil.lambda$userAgent$0(OkHttpUtil.java:77) 在 com.facebook.presto.jdbc.internal.okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147) 在 com.facebook。 presto.jdbc。internal.okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121) 在 com.facebook.presto.jdbc.internal.okhttp3.RealCall.getResponseWithInterceptorChain(RealCall.java:200) 在 com.facebook.presto.jdbc。 internal.okhttp3.RealCall.execute(RealCall.java:77) at com.facebook.presto.jdbc.internal.client.JsonResponse.execute(JsonResponse.java:131) ... 还有 8 个