Приложение Java - Подключение к Hive - Проблемы с подключением с платформы Linux - PullRequest
0 голосов
/ 19 декабря 2018

У меня есть Java-приложение, которое пытается подключиться к базе данных Hive (Hadoop).Это работает с моего ноутбука Windows.Однако, когда я экспортирую файл jar на платформу Linux, у меня возникают проблемы с подключением.Любые предложения приветствуются.

Я пробовал много разных вещей безрезультатно.Я могу вручную получить доступ к базе данных Hive с платформы Linux с помощью Beeline, но не могу заставить ее работать с моим java-приложением.

Ниже приведены некоторые сообщения об ошибках, которые я получаю при попытке соединения при запуске javaapp:

java.sql.SQLException: Could not establish connection to... { some server } jdbc:hive2://{ a server }:{ port }/{schema}/;ssl=true;transportMode=http;httpPath=gateway/default/hive: 
javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
at org.apache.hive.jdbc.HiveConnection.openSession(HiveConnection.java:575)
at org.apache.hive.jdbc.HiveConnection.(HiveConnection.java:181)
at org.apache.hive.jdbc.HiveDriver.connect(HiveDriver.java:105)
at java.sql.DriverManager.getConnection(DriverManager.java:664)
at java.sql.DriverManager.getConnection(DriverManager.java:247)
at 
.
.
.
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader.main(JarRsrcLoader.java:58)
Caused by: org.apache.hive.org.apache.thrift.transport.TTransportException: javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
at org.apache.hive.org.apache.thrift.transport.THttpClient.flushUsingHttpClient(THttpClient.java:297)
at org.apache.hive.org.apache.thrift.transport.THttpClient.flush(THttpClient.java:313)
at org.apache.hive.org.apache.thrift.TServiceClient.sendBase(TServiceClient.java:73)
at org.apache.hive.org.apache.thrift.TServiceClient.sendBase(TServiceClient.java:62)
at org.apache.hive.service.cli.thrift.TCLIService$Client.send_OpenSession(TCLIService.java:158)
at org.apache.hive.service.cli.thrift.TCLIService$Client.OpenSession(TCLIService.java:150)
at org.apache.hive.jdbc.HiveConnection.openSession(HiveConnection.java:563)

... еще 11 Причины: javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: сбой при построении пути PKIX: sun.security.provider.certpath.SunCertPathBuilderException:невозможно найти действительный путь сертификации для запрошенной цели в sun.security.ssl.Alerts.getSSLException (Alerts.java:192) в sun.security.ssl.SSLSocketImpl.fatal (SSLSocketImpl.java:1949) в sun.security.ssl.Handshaker.fatalSE (Handshaker.java:302) в sun.security.ssl.Handshaker.fatalSE (Handshaker.java:296) в sun.security.ssl.ClientHandshaker.serverCertificate (ClientHandshaker.java:1514) в sun.security.ssl.ClientHandshaker.processMessage (ClientHandshaker.java:216) в sun.security.ssl.Handshaker.processLoop (Handshaker.java:1026) в sun.security.ssl.Handshaker.process_record (Handshaker.java:961) в sun.security.ssl.SSLSocketImpl.readRecord (SSLSocketImpl.java:1062) в sun.security.ssl.SSLSocketImpl.performInitialHandshake (SSLSocketImpl.jss:13urity).SSLSocketImpl..java: 395) по адресу org.apache.hive.org.apache.http.conn.ssl.SSLConnectionSocketFactory.connectSocket (SSLConnectionSocketFactory.java:354) по адресу org.apache.hive.org.apache.http.impl.connClientConnect.connect (DefaultHttpClientConnectionOperator.java:134) в org.apache.hive.org.apache.http.impl.conn.BasicHttpClientConnectionManager.connect (BasicHttpClientConnectionManager.java:338) в org.aptt.hive.h.org.org.h..execchain.MainClientExec.establishRoute (MainClientExec.java:380) в org.apache.hive.org.apache.http.impl.execchain.MainClientExec.execute (MainClientExec.java:236) в org.apache.hive.org.apache.http.impl.execchain.ProtocolExec.execute (ProtocolExec.java:184) в org.apache.hive.org.apache.http.impl.execchain.RetryExec.execute (RetryExec.java:88) в org.apache.hive.org.apache.http.impl.execchain.RedirectExec.execute (RedirectExec.java:110) в org.apache.hive.org.apache.http.impl.execchain.ServiceUnavailableRetryExec.execute (ServiceUnavailableRetryExec.java:84) в org.apache.hive.org.apache.http.impl.client.InternalHttpClient.doExecutej4) на внутреннемHеorg.apache.hive.org.apache.http.impl.client.CloseableHttpClient.execute (CloseableHttpClient.java:117) в org.apache.hive.org.apache.http.impl.client.CloseableHttpClient.exjtclient.exava: 55) at org.apache.hive.org.apache.thrift.transport.THttpClient.flushUsingHttpClient (THttpClient.java:251) ... еще 17 причин: sun.security.validator.ValidatorException: сбой построения пути PKIX: sun.security.provider.certpath.SunCertPathBuilderException: не удалось найти действительный путь сертификации для запрошенной цели в sun.security.validator.PKIXValidator.doBuild (PKIXValidator.java:387) в sun.security.validator.PKIXValidator.engineValidate (PKIXValidator.java:29urity at.validator.Validator.validate (Validator.java:260) в sun.security.ssl.X509TrustManagerImpl.validate (X509TrustManagerImpl.java:324) в sun.security.ssl.X509TrustManagerImpl.checkTrusted (X509): X509at sun.security.ssl.X509TrustManagerImpl.checkServerTrusted (X509TrustManagerImpl.java:124) at sun.security.ssl.ClientHandshaker.serverCertificate (ClientHandshaker.java:1496) ... еще 38 причин.SunCertPathBuilderException: не удалось найти действительный путь сертификации для запрошенной цели в sun.security.provider.certpath.SunCertPathBuilder.build (SunCertPathBuilder.java:141) в sun.security.provider.certpath.SunCertPathBuilder.ilertBjilder.12erBjjava.security.cert.CertPathBuilder.build (CertPathBuilder.java:280) в sun.security.validator.PKIXValidator.doBuild (PKIXValidator.java:382) ... еще 44

...