我想对hive cdh5的metestore使用thrift。我们平台的大数据是cdh5.5.2,安全性使用kerberos。例如:
getAllDatabases execute(sql)
create_database get_database(String name)
等等。。。 hive.server2.thrift.port=10000
代码:
public class HiveClient {
public static final String SERVER_IP = "hadoop7";
public static final int SERVER_PORT = 10000;
public static final int TIMEOUT = 30000;
public static void main(String[] args) {
TTransport transport = null;
try {
transport = new TSocket(SERVER_IP, SERVER_PORT, TIMEOUT);
TProtocol protocol = new TBinaryProtocol(transport);
ThriftHive.Client client=new ThriftHive.Client(protocol);
transport.open();
List<String> databases=client.get_all_databases();
for(String database:databases){
System.out.println(database);
}
} catch (Exception e) {
e.printStackTrace();
}finally {
if (null != transport) {
transport.close();
}
}
}
}
错误:
org.apache.thrift.transport.ttTransportException:java.net.sockettimeoutexception:读取超时
暂无答案!
目前还没有任何答案,快来回答吧!