TSocket:无法连接到服务器(连接超时[110])

时间:2013-01-21 11:27:22

标签: apache hadoop hbase hive thrift

遵循这篇文章

http://nousefor.net/55/2011/12/php/hbase-and-hive-thrift-php-client/

我下载了HBase和Thrift php客户端软件包并将它们放在我的ubuntu机器上的var / www / thrift /目录中,并编写了这个简单的客户端代码来打开一个连接并显示数据库中的表。但是服务器不断恢复,并显示错误消息“Connection timed out [110]”。有任何想法吗..??使用$transport = new TSocket('localhost', 10001);

在服务器(Amazon EC2)上运行时,代码也可以正常运行
<?php

require_once('thrift/src/Thrift.php' );
require_once('thrift/src/transport/TSocket.php' );
require_once('thrift/src/transport/TBufferedTransport.php' );
require_once('thrift/src/protocol/TBinaryProtocol.php' );
require_once ('thrift/ThriftHive.php');

//open connection
$transport = new TSocket('107.xx.xx.101', 10001);
$protocol = new TBinaryProtocol($transport);
$client = new ThriftHiveClient($protocol);

try{
    $transport->open();
}
catch(Exception $ex)
{
    echo $ex->getMessage();
}

//show tables
$client->execute('SHOW TABLES');
$tables = $client->fetchAll();
foreach ($tables as $name){
echo( " found: {$name}\n" );
}


?>

1 个答案:

答案 0 :(得分:0)

我认为你没有指出Hive master安装在哪里的主机。请检查Hive Metastore host IP地址。

的位置

这可能对你有所帮助。