hadoop java。sql。SQLException:org。阿帕奇。节约运输t在蜂巢中的转运异常?
我正在尝试用java在hive中创建表。我发现
java.sql.SQLException: org.apache.thrift.transport.TTransportException
在执行我的代码时
这是我的密码
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);}
}
抛出此异常的原因以及如何修复它
# 1 楼答案
这是一条非常通用的错误消息,描述了hiveserver出现问题,并建议您查看配置单元日志。如果您访问配置单元日志并找到异常调用堆栈,您可以找到根本原因,或者如果您共享异常,我可能可以帮助您
我所看到的最常见问题如下:
与并发相关的元存储问题
当您以$hive service yourhiveserver的身份启动hive server并使其运行数天,然后运行代码时,您的连接可能是代理到服务器,您将得到完全相同的错误。如果重新连接到服务器,此错误将消失。这仅仅是因为在等待一段时间后,时间过期并发生断开
端口特定错误
在启动配置单元服务器之前,请确保为您的配置单元服务器设置一个打开的端口,并按如下所示进行设置:
可能还有其他原因,但是最好的选择是检查配置单元日志中的调用堆栈,以找出根本原因并解决问题