Ejemplo n.º 1
0
 public function __construct($keyspace, $server, $credentials, $framed_transport, $send_timeout, $recv_timeout)
 {
     $host = $server['host'];
     $port = $server['port'];
     $socket = new TSocket($host, $port);
     if ($send_timeout) {
         $socket->setSendTimeout($send_timeout);
     }
     if ($recv_timeout) {
         $socket->setRecvTimeout($recv_timeout);
     }
     if ($framed_transport) {
         $transport = new TFramedTransport($socket, true, true);
     } else {
         $transport = new TBufferedTransport($socket, 1024, 1024);
     }
     $client = new CassandraClient(new TBinaryProtocolAccelerated($transport));
     $transport->open();
     # TODO check API major version match
     $client->set_keyspace($keyspace);
     if ($credentials) {
         $request = cassandra_AuthenticationRequest($credentials);
         $client->login($request);
     }
     $this->keyspace = $keyspace;
     $this->client = $client;
     $this->transport = $transport;
 }
 public function __construct($keyspace, $server, $credentials = null, $framed_transport = True, $send_timeout = null, $recv_timeout = null)
 {
     $this->server = $server;
     $server = explode(':', $server);
     $host = $server[0];
     if (count($server) == 2) {
         $port = (int) $server[1];
     } else {
         $port = self::DEFAULT_PORT;
     }
     $socket = new \TSocket($host, $port);
     if ($send_timeout) {
         $socket->setSendTimeout($send_timeout);
     }
     if ($recv_timeout) {
         $socket->setRecvTimeout($recv_timeout);
     }
     if ($framed_transport) {
         $transport = new \TFramedTransport($socket, true, true);
     } else {
         $transport = new \TBufferedTransport($socket, 1024, 1024);
     }
     $this->client = new CassandraClient(new \TBinaryProtocolAccelerated($transport));
     $transport->open();
     $this->set_keyspace($keyspace);
     if ($credentials) {
         $request = new AuthenticationRequest(array("credentials" => $credentials));
         $this->client->login($request);
     }
     $this->keyspace = $keyspace;
     $this->transport = $transport;
     $this->op_count = 0;
 }
Ejemplo n.º 3
0
 /**
  * @throws InvalidArgumentException
  * @param string $queue
  * @param array $options
  * @return void
  */
 public function __construct($queue, $options = array())
 {
     if (!isset($options['host'])) {
         $options['host'] = 'localhost';
     }
     if (!isset($options['port'])) {
         $options['port'] = 9090;
     }
     if (!is_string($queue)) {
         throw new InvalidArgumentException();
     }
     $this->_queue = $queue;
     $this->_options = $options;
     if (isset($options['client'])) {
         $this->_client = $this->_options['client'];
     } else {
         require_once 'Thrift/Thrift.php';
         require_once 'Thrift/protocol/TBinaryProtocol.php';
         require_once 'Thrift/transport/TSocket.php';
         require_once 'Thrift/transport/TBufferedTransport.php';
         require_once 'JobPool.php';
         $socket = new TSocket($this->_options['host'], $this->_options['port']);
         $transport = new TBufferedTransport($socket);
         $protocol = new TBinaryProtocol($transport);
         $this->_client = new JobPoolClient($protocol);
         $transport->open();
     }
 }
Ejemplo n.º 4
0
 public function initialize($param)
 {
     $this->host = $param['host'];
     $this->port = $param['port'];
     $socket = new \TSocket($this->host, $this->port);
     $socket->setSendTimeout(2000);
     $socket->setRecvTimeout(5000);
     $transport = new \TBufferedTransport($socket, 512, 512);
     $protocol = new \TBinaryProtocol($transport);
     $this->hbaseThriftClient = new \THBaseServiceClient($protocol);
     $transport->open();
 }
Ejemplo n.º 5
0
 public static function connect($params = array())
 {
     self::$config = $params;
     // Initialize Thrift connection
     $socket = new \TSocket($params["server"], 9090);
     $socket->setSendTimeout(3000);
     $socket->setRecvTimeout(10000);
     $transport = new \TBufferedTransport($socket);
     $protocol = new \TBinaryProtocol($transport);
     $client = new \HbaseClient($protocol);
     $transport->open();
     self::$hbase = new ThriftHBaseClientWrapper($client);
 }
Ejemplo n.º 6
0
 public function __construct($keyspace, $server, $credentials = null, $framed_transport = True, $send_timeout = null, $recv_timeout = null)
 {
     $this->server = $server;
     $server = explode(':', $server);
     $host = $server[0];
     if (count($server) == 2) {
         $port = (int) $server[1];
     } else {
         $port = self::DEFAULT_PORT;
     }
     $socket = new TSocket($host, $port);
     if ($send_timeout) {
         $socket->setSendTimeout($send_timeout);
     }
     if ($recv_timeout) {
         $socket->setRecvTimeout($recv_timeout);
     }
     if ($framed_transport) {
         $transport = new TFramedTransport($socket, true, true);
     } else {
         $transport = new TBufferedTransport($socket, 1024, 1024);
     }
     $client = new CassandraClient(new TBinaryProtocolAccelerated($transport));
     $transport->open();
     $server_version = explode(".", $client->describe_version());
     $server_version = $server_version[0];
     if ($server_version < self::LOWEST_COMPATIBLE_VERSION) {
         $ver = self::LOWEST_COMPATIBLE_VERSION;
         throw new IncompatibleAPIException("The server's API version is too " . "low to be comptible with phpcassa (server: {$server_version}, " . "lowest compatible version: {$ver})");
     }
     $client->set_keyspace($keyspace);
     if ($credentials) {
         $request = new cassandra_AuthenticationRequest(array("credentials" => $credentials));
         $client->login($request);
     }
     $this->keyspace = $keyspace;
     $this->client = $client;
     $this->transport = $transport;
     $this->op_count = 0;
 }
Ejemplo n.º 7
0
		<a href="InstallManager.php?action=Install&which=Lzo&ip=' . $ip . '" class="btn">' . $lang['installLzo'] . '</a>		
		<a href="InstallManager.php?action=Install&which=Lzop&ip=' . $ip . '" class="btn">' . $lang['installLzop'] . '</a>
		<a href="InstallManager.php?action=Install&which=Hadoopgpl&ip=' . $ip . '" class="btn">' . $lang['installHadoopgpl'] . '</a>
		<a href="InstallManager.php?action=Install&which=Java&ip=' . $ip . '" class="btn">' . $lang['installJava'] . '</a>
		<a href="InstallManager.php?action=Install&which=Hadoop&ip=' . $ip . '" class="btn">' . $lang['installHadoop'] . '</a>';
        echo '</div>
		</div>';
        //btn-toolbar
        if (@$_GET['which']) {
            echo '<pre>';
            $action = $_GET['action'] . $_GET['which'];
            $ip = $_GET['ip'];
            $socket = new TSocket($ip, 30050);
            $socket->setSendTimeout(300000);
            $socket->setRecvTimeout(300000);
            $transport = new TBufferedTransport($socket);
            $protocol = new TBinaryProtocol($transport);
            #$client = new EasyHadoopClient($protocol);
            $transport->open();
            $str = $install->{$action}($protocol);
            echo $str;
            $transport->close();
            echo '</pre>';
        }
        echo "<br />";
        echo "<pre>";
        echo 'The Chosen host is ' . $ip;
        echo "</pre>";
        echo '</div>';
        // span10
    }
Ejemplo n.º 8
0
 * </code>
 *
 */
define('THRIFT_ROOT', '/usr/lib/php');
define('HBASE_HOST', '192.168.0.106');
define('HBASE_PORT', 9090);
// load thrift lib for php
require_once THRIFT_ROOT . '/Thrift.php';
require_once THRIFT_ROOT . '/transport/TSocket.php';
require_once THRIFT_ROOT . '/transport/TBufferedTransport.php';
require_once THRIFT_ROOT . '/protocol/TBinaryProtocol.php';
// load the thrift generated stub
require_once dirname(__FILE__) . '/Hbase.php';
// open connection
$socket = new TSocket(HBASE_HOST, HBASE_PORT);
$transport = new TBufferedTransport($socket);
$protocol = new TBinaryProtocol($transport);
$transport->open();
// create hbase client
$client = new HbaseClient($protocol);
// show all tables
echo "Existing tables:\n";
$tables = $client->getTableNames();
foreach ($tables as $name) {
    echo "  found: {$name}\n";
}
// create a table with name 'tableName'
echo "\nCreate table: tableName\n";
try {
    $columns = array(new ColumnDescriptor(array('name' => 'colFamily:', 'maxVersions' => 10)));
    $client->createTable("tableName", $columns);
Ejemplo n.º 9
0
 /**
  * Given a single host, attempts to find other nodes in the cluster and attaches them
  * to the pool
  * @todo build connections from token map
  * @param string $host host name or IP of connecting node
  * @param string $poolName name of the connection pool (cluster name)
  * @param int $port TCP port of connecting node
  * @return bool connected ok
  */
 public static function auto($host, $poolName = self::DEFAULT_POOL_NAME, $port = THRIFT_PORT_DEFAULT)
 {
     try {
         // Create Thrift transport and binary protocol cassandra client
         $transport = new TBufferedTransport(new TSocket($host, $port, PERSIST_CONNECTIONS, 'PandraCore::registerError'), 1024, 1024);
         $transport->open();
         $client = new CassandraClient(function_exists("thrift_protocol_write_binary") ? new TBinaryProtocolAccelerated($transport) : new TBinaryProtocol($transport));
         $tokenMap = $client->get_string_property('token map');
         $tokens = json_decode($tokenMap);
         foreach ($tokens as $token => $host) {
             if (!self::connect($token, $host, $poolName)) {
                 return FALSE;
             }
         }
         return TRUE;
     } catch (TException $te) {
         self::registerError('TException: ' . $te->getMessage() . ' ' . (isset($te->why) ? $te->why : ''));
     }
     return FALSE;
 }
Ejemplo n.º 10
0
 /**
  * Connects to given Cassandra node and makes it available in the static connection pool
  * @param string $connectionID named node
  * @param string $host host name or IP of connecting node
  * @param int $port TCP port of connecting node
  * @return bool connected ok
  */
 public static function connect($connectionID, $host = NULL, $port = self::THRIFT_PORT_DEFAULT)
 {
     try {
         // if the connection exists but it is closed, then re-open
         if (array_key_exists($connectionID, self::$_nodeConns)) {
             if (!self::$_nodeConns[$connectionID]['transport']->isOpen()) {
                 self::$_nodeConns[$connectionID]['transport']->open();
             }
             return TRUE;
         }
         // Create Thrift transport and binary protocol cassandra client
         $transport = new TBufferedTransport(new TSocket($host, $port), 1024, 1024);
         $transport->open();
         self::$_nodeConns[$connectionID] = array('transport' => $transport, 'client' => new CassandraClient(function_exists("thrift_protocol_write_binary") ? new TBinaryProtocolAccelerated($transport) : new TBinaryProtocol($transport)));
         // set new connection the active, working master
         self::setActiveNode($connectionID);
         return TRUE;
     } catch (TException $tx) {
         self::$lastError = 'TException: ' . $tx->getMessage() . "\n";
     }
     return FALSE;
 }
Ejemplo n.º 11
0
 public function __construct($keyspace, $server, $credentials, $framed_transport, $send_timeout, $recv_timeout)
 {
     $host = $server['host'];
     $port = $server['port'];
     $socket = new TSocket($host, $port);
     if ($send_timeout) {
         $socket->setSendTimeout($send_timeout);
     }
     if ($recv_timeout) {
         $socket->setRecvTimeout($recv_timeout);
     }
     if ($framed_transport) {
         $transport = new TFramedTransport($socket, true, true);
     } else {
         $transport = new TBufferedTransport($socket, 1024, 1024);
     }
     $client = new CassandraClient(new TBinaryProtocolAccelerated($transport));
     $transport->open();
     # TODO check API major version match
     $server_version = explode(".", $client->describe_version());
     $server_version = $server_version[0];
     if ($server_version < self::LOWEST_COMPATIBLE_VERSION) {
         $ver = self::LOWEST_COMPATIBLE_VERSION;
         throw new IncompatbleAPIException("The server's API version is too " . "low to be comptible with phpcassa (server: {$server_version}, " . "lowest compatible version: {$ver})");
     }
     $client->set_keyspace($keyspace);
     if ($credentials) {
         $request = cassandra_AuthenticationRequest($credentials);
         $client->login($request);
     }
     $this->keyspace = $keyspace;
     $this->client = $client;
     $this->transport = $transport;
 }