wiki:waue/2010/0402

Version 2 (modified by waue, 14 years ago) (diff)

--

hadoop + Hbase + thrift + php
程式碼解析

零、前言

hadoop /opt/hadoop
hbase /opt/hbase
網頁根目錄 /var/www/
hbase 的php碼目錄 /var/www/hbase
thrift php /var/www/hbase/thrift
  • 測試程式之前,請先確定
    • hbase , hadoop 都有正常運作中
    • $ bin/hbase thrift start 尚在執行

一、php引用thrift lib

<?
$GLOBALS['THRIFT_ROOT'] = '/var/www/hbase/thrift';

require_once( $GLOBALS['THRIFT_ROOT'].'/Thrift.php' );
require_once( $GLOBALS['THRIFT_ROOT'].'/transport/TSocket.php' );
require_once( $GLOBALS['THRIFT_ROOT'].'/transport/TBufferedTransport.php' );
require_once( $GLOBALS['THRIFT_ROOT'].'/protocol/TBinaryProtocol.php' );
require_once( $GLOBALS['THRIFT_ROOT'].'/packages/Hbase/Hbase.php' );

$socket = new TSocket( 'secuse.nchc.org.tw', 9090 );
$socket->setSendTimeout( 10000 ); // Ten seconds (too long for production, but this is just a demo ;)
$socket->setRecvTimeout( 20000 ); // Twenty seconds
$transport = new TBufferedTransport( $socket );
$protocol = new TBinaryProtocol( $transport );
$client = new HbaseClient( $protocol );
$transport->open();
?>
........
其他程式碼
.......
<?
$transport->close();
?>