Package org.apache.hadoop.hbase.thrift

Provides an HBase Thrift service.

See:
          Description

Interface Summary
IncrementCoalescerMBean  
 

Class Summary
CallQueue A BlockingQueue reports waiting time in queue and queue length to ThriftMetrics.
CallQueue.Call  
HbaseHandlerMetricsProxy Converts a Hbase.Iface using InvocationHandler so that it reports process time of each call to ThriftMetrics.
HThreadedSelectorServerArgs A TThreadedSelectorServer.Args that reads hadoop configuration
IncrementCoalescer This class will coalesce increments from a thift server if hbase.regionserver.thrift.coalesceIncrement is set to true.
TBoundedThreadPoolServer A bounded thread pool server customized for HBase.
TBoundedThreadPoolServer.Args  
ThriftMetrics This class is for maintaining the various statistics of thrift server and publishing them through the metrics interfaces.
ThriftServer ThriftServer- this class starts up a Thrift server which implements the Hbase API specified in the Hbase.thrift IDL file.
ThriftServerRunner ThriftServerRunner - this class starts up a Thrift server which implements the Hbase API specified in the Hbase.thrift IDL file.
ThriftServerRunner.HBaseHandler The HBaseHandler is a glue object that connects Thrift RPC calls to the HBase client API primarily defined in the HBaseAdmin and HTable objects.
ThriftServerRunner.ResultScannerWrapper  
ThriftUtilities  
 

Package org.apache.hadoop.hbase.thrift Description

Provides an HBase Thrift service. This directory contains a Thrift interface definition file for an HBase RPC service and a Java server implementation.

What is Thrift?

"Thrift is a software framework for scalable cross-language services development. It combines a software stack with a code generation engine to build services that work efficiently and seamlessly between C++, Java, Python, PHP, Ruby, Erlang, Perl, Haskell, C#, Cocoa, Smalltalk, and OCaml."

Important note

We tried to deprecate this Thrift interface and replace it with the Interface defined over in the thrift2 package only this package will not die. Folks keep adding to it and fixing it up so its around for another while until someone takes command and drives this package out of existence replacing it w/ an Interface that better matches the hbase API (this package was modelled on old HBase API long since dropped).

The HBase API is defined in the file Hbase.thrift (Click the former to see the thrift generated documentation of thrift interface). A server-side implementation of the API is in ThriftServer. The generated interfaces, types, and RPC utility files reside in the org.apache.hadoop.hbase.thrift.generated package.

Description

To start ThriftServer, use:

  ./bin/hbase-daemon.sh start thrift

To stop, use:

  ./bin/hbase-daemon.sh stop thrift
These are the command line arguments the Thrift server understands in addition to start and stop:
-b, --bind
Address to bind the Thrift server to. Not supported by the Nonblocking and HsHa server [default: 0.0.0.0]
-p, --port
Port to bind to [default: 9090]
-f, --framed
Use framed transport (implied when using one of the non-blocking servers)
-c, --compact
Use the compact protocol [default: binary protocol]
-h, --help
Displays usage information for the Thrift server
-threadpool
Use the TThreadPoolServer. This is the default.
-hsha
Use the THsHaServer. This implies the framed transport.
-nonblocking
Use the TNonblockingServer. This implies the framed transport.

Details

HBase currently uses version 0.8.0 of Apache Thrift.

The files were generated by running the commands under the hbase checkout dir:

  mvn compile -Pcompile-thrift

The 'thrift' binary is the Thrift compiler, and it is distributed as a part of the Thrift package. Additionally, specific language runtime libraries are a part of the Thrift package. A version of the Java runtime is included in HBase via Maven.



Copyright © 2015 The Apache Software Foundation. All Rights Reserved.