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 powerful software stack with a code generation engine to build services that work efficiently and seamlessly between C++, Java, Python, PHP, and Ruby. Thrift was developed at Facebook, and we are now releasing it as open source." For additional information, see http://developers.facebook.com/thrift/. Facebook has announced their intent to migrate Thrift into Apache Incubator.

Description

The Hbase API is defined in the file Hbase.thrift. A server-side implementation of the API is in org.apache.hadoop.hbase.thrift.ThriftServer. The generated interfaces, types, and RPC utility files are checked into SVN under the org.apache.hadoop.hbase.thrift.generated directory.

The files were generated by running the commands:

  thrift -strict --gen java Hbase.thrift
  mv gen-java/org/apache/hadoop/hbase/thrift/generated .
  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 checked into SVN under the hbase/lib directory.

To start ThriftServer, use:

  ./bin/hbase-daemon.sh start thrift [--port=PORT]
The default port is 9090.

To stop, use:

  ./bin/hbase-daemon.sh stop thrift