java - org.apache.thrift.TApplicationException:必填字段 'client_protocol'未设置

标签 java hadoop jdbc hive

我正在尝试连接到HiveServer2并从我的Java应用程序中运行查询。当我在本地服务器上运行时(Hive版本:2.1.1)。它与以下依赖项完美配合:

compile('org.apache.hadoop:hadoop-core:1.2.1')

compile ('org.apache.hive:hive-jdbc:2.1.0'){
    exclude group: 'org.eclipse.jetty.aggregate', module: '*'
    exclude group: "org.slf4j", module: "slf4j-log4j12"
    exclude group: "log4j", module: "log4j"    }

compile ('org.apache.hadoop:hadoop-common:3.0.0'){
    exclude group: "org.slf4j", module: "slf4j-log4j12"
    exclude group: "log4j", module: "log4j"
}

但是当我在远程服务器上运行时(Hive版本:0.13.1-SNAPSHOT)。它引发以下错误。我知道,问题出在hive-jdbc,hadoop-core和hadoop-common版本上。谁能让我知道我需要在Hive 0.13.1-SNAPSHOT中使用哪些版本的依赖关系
SEVERE: A child container failed during start
java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Tomcat].StandardHost[localhost].TomcatEmbeddedContext[]]

最佳答案

经过一些跟踪和错误后,我修复了版本问题。问题是hive-jdbc:2.1.0与Hive 0.13.1-SNAPSHOT不向后兼容,我们需要使用hive-jdbc:0.13.1使其正常工作。毫无疑问,以下代码有效。

compile('org.apache.hadoop:hadoop-core:1.2.1')

compile ('org.apache.hive:hive-jdbc:0.13.1'){
    exclude group: 'org.eclipse.jetty.aggregate', module: '*'
    exclude group: "org.slf4j", module: "slf4j-log4j12"
    exclude group: "log4j", module: "log4j"    }

compile ('org.apache.hadoop:hadoop-common:3.0.0'){
    exclude group: "org.slf4j", module: "slf4j-log4j12"
    exclude group: "log4j", module: "log4j"
}

关于java - org.apache.thrift.TApplicationException:必填字段 'client_protocol'未设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48864963/

相关文章:

java - 失败:SemanticException [错误10014]:行1:21错误的参数 'stock_price_high':

java - 使用 JDBC 驱动程序在 SQL Server 中设置默认行预取

java - 在子 bean 上设置值

java - 形式参数上的同步有什么作用?

java - 如何使用 SASL_SSL 连接 Apache Kafka 设置 Spring Cloud Kafka 项目?

java - 在 JAVA 中使用 session 用户的 MYSQL 查询

mysql - 为什么我在 Eclipse IoT 上不断收到 ClassNotFoundException : com. mysql.jdbc.Driver 错误

java - 用于java API的selenium webdriver : findElement produces different results

Hadoop - 键和值应该是什么

mysql - 需要分布式架构或流程