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 {@link org.apache.hadoop.hbase.thrift.ThriftServer}. The generated interfaces, types, and RPC utility files are checked into SVN under the {@link 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.

The version of Thrift used to generate the Java files is release 20080411p1 from the thrift homepage.

The ThriftServer is run like:

  ./bin/hbase thrift -h|--help | [--port=PORT] start
The default port is 9090.