hadoop - Hortonworks hiveserver2 jdbc错误

标签 hadoop jdbc hive hortonworks-data-platform

我安装了hortonworks,我尝试通过jdbc访问hiveserver2。但我得到了错误

ERROR : unsupported hive2 protocol



代码:
private static String driverName = "org.apache.hive.jdbc.HiveDriver";

try {


   Class.forName(driverName);

   } catch (ClassNotFoundException e) {
        e.printStackTrace();
            System.exit(1);
            System.out.println("error");
   }

java.sql.Connection con = DriverManager.getConnection("jdbc:hive2://192.168.0.96:10000/db","id","pwd");

程序版本:
  • Hadoop - 2.2.0
  • hive - 0.12.0

  • 这种情况有什么解决办法吗?

    最佳答案

    正如@climbage 所提到的,您的客户端代码和配置单元服务器使用的协议(protocol)版本不匹配。

    这是拒绝请求的特定配置单元源代码(在 Hive Connection source code

    私有(private) void openSession(Map sessVars) 抛出 SQLException {
    TOpenSessionReq openReq = new TOpenSessionReq();

     ..
    
    try {
      TOpenSessionResp openResp = client.OpenSession(openReq);
    
      // validate connection
      Utils.verifySuccess(openResp.getStatus());
      if (!supportedProtocols.contains(openResp.getServerProtocolVersion())) {
        throw new TException("Unsupported Hive2 protocol");
      }
    

    我的建议:查看部署在您的服务器上的特定版本的 hive 的 core-hive 模块中的 src/test 代码。他们将有 jdbc 测试,您可以将其“提升”到您的客户端代码中。

    另外,您是否只是尝试过 hive 而不是 hive2?
    Connection con = DriverManager.getConnection("jdbc:hive://192.168.56.101:10000/default", "root", "");
    

    关于hadoop - Hortonworks hiveserver2 jdbc错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23547710/

    相关文章:

    hadoop - hive UDF-将StringObjectInspector转换为String

    Java Oracle 连接池 - 关闭连接异常

    java - 在 HP-UX 机器上忽略高于 32767 的 DB2 queryDataSize

    python - 使用 Pyhive 插入 Hive 调用错误

    json - 为简单的 json 创建 Avro 模式

    hadoop - 什么是 ElasticSearch-Hadoop (es-hadoop) 及其相对于 HBase 的实时 Web 应用程序优势?

    Hadoop HDFS 最大文件大小

    java - ubuntu 通信链接失败时的 Mysql 和 java 连接问题

    ubuntu - 已配置 Hadoop 但无法从配置单元获得响应?

    hadoop - hadoop 50070 Datanode选项卡不会同时显示两个数据节点