【发布时间】:2015-01-12 21:08:41
【问题描述】:
我正在尝试建立到 Hive 的 JDBC 连接,以便我可以查看和创建表并从 Eclipse 查询 Hive 表。我使用了 HiveClient 示例代码:https://cwiki.apache.org/confluence/display/Hive/HiveClient 然后我将所有需要的 jar 添加到 eclipse 中的 java 构建路径并启动 Hive Thrift Server。端口 10000 正在侦听。我正在使用 Cloudera QuickstartVM 4.6.1 和它附带的 eclipse。这是我尝试运行代码时在 IDE 中遇到的错误。
Exception in thread "main" java.sql.SQLException: org.apache.thrift.transport.TTransportException: java.net.SocketException: Connection reset
at org.apache.hadoop.hive.jdbc.HiveStatement.executeQuery(HiveStatement.java:191)
at org.apache.hadoop.hive.jdbc.HiveStatement.execute(HiveStatement.java:127)
at org.apache.hadoop.hive.jdbc.HiveConnection.configureConnection(HiveConnection.java:108)
at org.apache.hadoop.hive.jdbc.HiveConnection.<init>(HiveConnection.java:103)
at org.apache.hadoop.hive.jdbc.HiveDriver.connect(HiveDriver.java:104)
at java.sql.DriverManager.getConnection(DriverManager.java:582)
at java.sql.DriverManager.getConnection(DriverManager.java:185)
at jdbc.Hive.main(Hive.java:24)
当我尝试使用直线连接到 Hive 时,我得到了同样的错误。但是,当我从 !connect 命令中删除主机名和端口时,它会出现以下错误:
beeline> !connect jdbc:hive:// "" ""
scan complete in 4ms
Connecting to jdbc:hive://
14/03/21 18:42:03 WARN conf.HiveConf: DEPRECATED: Configuration property hive.metastore.local no longer has any effect. Make sure to provide a valid value for hive.metastore.uris if you are connecting to a remote metastore.
14/03/21 18:42:03 INFO metastore.HiveMetaStore: 0: Opening raw store with implemenation class:org.apache.hadoop.hive.metastore.ObjectStore
14/03/21 18:42:04 INFO metastore.ObjectStore: ObjectStore, initialize called
14/03/21 18:42:05 INFO DataNucleus.Persistence: Property datanucleus.cache.level2 unknown - will be ignored.
我在这里错过了什么!?
【问题讨论】:
-
检查hadoop是否没有安全模式??
标签: java hadoop jdbc hive cloudera