java.sql.SQLException:org.apache.thrift.transport.ttTransportException在配置单元中?

java.sql.SQLException:org.apache.thrift.transport.ttTransportException在配置单元中?,java,hadoop,hbase,hive,Java,Hadoop,Hbase,Hive,我正在尝试用java在配置单元中创建表。我发现 java.sql.SQLException:org.apache.thrift.transport.ttTransportException 在执行我的代码时 这是我的密码 public void createTable(String tableName) { try{ Statement stat = con.createStatement(); String QueryString =

我正在尝试用java在配置单元中创建表。我发现

java.sql.SQLException:org.apache.thrift.transport.ttTransportException

在执行我的代码时

这是我的密码

public void createTable(String tableName) {
        try{
            Statement stat = con.createStatement();

        String QueryString = "CREATE TABLE '"+tableName+"'(User_Id INTEGER NOT NULL AUTO_INCREMENT, " + "User_Name VARCHAR(25), UserId VARCHAR(20), User_Pwd VARCHAR(15), primary key(User_Id))";

        a = stat.executeUpdate(QueryString);
        if(a==1){
            System.out.println(a);
            System.out.println("Table has been created");
        }

        }catch(Exception e){
        System.out.println(e);}
} 

引发此异常的原因以及如何修复它

这是一条非常常见的错误消息,描述了hiveserver出现问题,并建议您查看Hive日志。如果您访问配置单元日志并找到异常调用堆栈,您可以找到根本原因,或者如果您共享异常,我可能可以帮助您

我所看到的最常见问题如下:

  • 与并发相关的元存储问题

  • 当您以$hive--服务您的hiveserver的身份启动配置单元服务器并使其运行数天,然后运行代码时,您的连接可能是代理到服务器,您将得到完全相同的错误。如果重新连接到服务器,此错误将消失。这仅仅是因为在等待一段时间后,时间过期并发生断开

  • 端口特定错误

  • 在启动配置单元服务器之前,请确保为您的配置单元服务器设置一个打开的端口,并按如下所示进行设置:

     $export HIVE_PORT=10000
     $hive --service hiveserver
     $ _run_your_code
    

    可能还有其他原因,但是您最好的选择是检查配置单元日志中的调用堆栈,以找出根本原因并解决问题。

    有任何参考资料可以帮助解决元存储并发相关问题吗?我也遇到了同样的错误。。重新启动连接到Hive DB的应用程序后,它将消失