|
||||||||||
PREV PACKAGE NEXT PACKAGE | FRAMES NO FRAMES |
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. |
ThriftUtilities |
Provides an HBase Thrift service. This directory contains a Thrift interface definition file for an HBase RPC service and a Java server implementation.
"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.
To start ThriftServer, use:
./bin/hbase-daemon.sh start thrift
To stop, use:
./bin/hbase-daemon.sh stop thriftThese are the command line arguments the Thrift server understands in addition to
start
and stop
:
-b, --bind
0.0.0.0
]-p, --port
9090
]-f, --framed
-c, --compact
-h, --help
-threadpool
-hsha
-nonblocking
HBase currently uses version 0.8.0 of Apache Thrift.
The files were generated by running the commands under the hbase checkout dir:
thrift -strict --gen java:hashcode ./src/main/resources/org/apache/hadoop/hbase/thrift/Hbase.thrift # Move the generated files into place their expected location under hbase mv gen-java/org/apache/hadoop/hbase/thrift/generated/* src/main/java/org/apache/hadoop/hbase/thrift/generated/ # Remove the gen-java file made by thrift rm -rf gen-java
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.
|
||||||||||
PREV PACKAGE NEXT PACKAGE | FRAMES NO FRAMES |