2015-12-31 19 views
5
aracılığıyla bağlanılamıyor

enter image description hereHive2 adresine atıfta bulunarak HIVE2 sunucusuna bağlanmak için basit bir java programı oluşturuldu (yerel değil), yukarıda belirtilen bağlantıya, yukarıda belirtildiği gibi tutulduğu sınıf yolunda yukarıdaki bağlantıya eklediler. kod gibi bir hata atar: here ve here TavsiyeHIVE2'ye JAVA

09:42:35,580 INFO Utils:285 - Supplied authorities: hdstg-c01-edge-03:20000 
09:42:35,583 INFO Utils:372 - Resolved authority: hdstg-c01-edge-03:20000 
09:42:35,656 INFO HiveConnection:189 - Will try to open client transport with JDBC Uri: jdbc:hive2://hdstg-c01-edge-03:20000 
FAILED: f 
java.lang.NoSuchMethodError: org.apache.thrift.protocol.TProtocol.getScheme()Ljava/lang/Class; 
at org.apache.hive.service.cli.thrift.TCLIService$OpenSession_args.write(TCLIService.java:1854) 
at org.apache.thrift.TServiceClient.sendBase(TServiceClient.java:63) 
at org.apache.hive.service.cli.thrift.TCLIService$Client.send_OpenSession(TCLIService.java:150) 
at org.apache.hive.service.cli.thrift.TCLIService$Client.OpenSession(TCLIService.java:142) 
at org.apache.hive.jdbc.HiveConnection.openSession(HiveConnection.java:456) 
at org.apache.hive.jdbc.HiveConnection.<init>(HiveConnection.java:178) 
at org.apache.hive.jdbc.HiveDriver.connect(HiveDriver.java:105) 
at java.sql.DriverManager.getConnection(DriverManager.java:579) 
at java.sql.DriverManager.getConnection(DriverManager.java:221) 
at testScripts.HiveJdbcClient.f(HiveJdbcClient.java:19) 
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
at java.lang.reflect.Method.invoke(Method.java:601) 
at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:85) 
at org.testng.internal.Invoker.invokeMethod(Invoker.java:648) 
at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:834) 
at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1142) 
at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:124) 
at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:108) 
at org.testng.TestRunner.privateRun(TestRunner.java:771) 
at org.testng.TestRunner.run(TestRunner.java:621) 
at org.testng.SuiteRunner.runTest(SuiteRunner.java:357) 
at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:352) 
at org.testng.SuiteRunner.privateRun(SuiteRunner.java:310) 
at org.testng.SuiteRunner.run(SuiteRunner.java:259) 
at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52) 
at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:86) 
at org.testng.TestNG.runSuitesSequentially(TestNG.java:1176) 
at org.testng.TestNG.runSuitesLocally(TestNG.java:1101) 
at org.testng.TestNG.run(TestNG.java:1009) 
at org.testng.remote.RemoteTestNG.run(RemoteTestNG.java:111) 
at org.testng.remote.RemoteTestNG.initAndRun(RemoteTestNG.java:204) 
at org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:175) 

ama sorunu çözmedi.

+0

Eğer tutumluluk dahil tüm kavanoz kütüphanelerini eklediniz mi? Thrift jar dosyası eklemediniz gibi görünüyor. –

+0

@MobinRanjbar: Evet, ekran görüntüsü ile güncellendi. – Vinod

+0

libthrift sürümünüzü 0.8.0 veya 0.7.0 gibi eski bir sürüme indirmeyi deneyin. –

cevap

4

Bir hive2 tipi jdbc url kullanıyorsunuz.

olarak Hive wiki açıklandığı, tasarruf jdbc artık önerilir: hive2 jdbc üzerine

JDBC

This document describes the JDBC client for the original Hive Server (sometimes called Thrift server or HiveServer1). For information about the HiveServer2 JDBC client, see JDBC in the HiveServer2 Clients document. HiveServer2 use is recommended; the original HiveServer has several concurrency issues and lacks several features available in HiveServer2.

Ödeme this info. Sürücü örneğin burada bulabilirsiniz:

http://mvnrepository.com/artifact/org.apache.hive/hive-jdbc/1.2.1

+0

koşuyor JARS tek tek aracılığıyla gitti ve uyumsuz JAR sürüm sorunu nedeniyle olduğunu söylediniz gibi, projeyi yeniden, şimdi onun çözüldü ve kovan bağlanmak mümkün, teşekkürler – Vinod

+0

@ Ja thrift jdbc gerçekten tavsiye edilmez mi? Aynı wiki üzerinde sadece bir sayfa uzakta HiveServer2 "Thrift tabanlı Hive sunucusunu içerdiğini" söylüyor. (Https://cwiki.apache.org/confluence/display/Hive/HiveServer2+Overview). Kestirmeler için avcılık yapmam gerekip gerekmediğini anlayamıyorum ... –

+0

"JDBC artık önerilmiyor" derken ne demek istiyorsun? –