Package org.apache.hadoop.hbase.thrift2

Provides an HBase Thrift service.

See: Description

Package org.apache.hadoop.hbase.thrift2 Description

Provides an HBase Thrift service. This package contains a Thrift interface definition file for an HBase RPC service and a Java server implementation. There are currently 2 thrift server implementations in HBase, the packages:

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, JavaScript, Node.js, Smalltalk, and OCaml. Originally developed at Facebook, Thrift was open sourced in April 2007 and entered the Apache Incubator in May, 2008". From http://thrift.apache.org/

Description

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

To stop, use:

  ./bin/hbase-daemon.sh stop thrift2
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.9.0 of Apache Thrift.

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

  thrift -strict --gen java:hashcode ./hbase-thrift/src/main/resources/org/apache/hadoop/hbase/thrift2/hbase.thrift
  # Move the generated files into place their expected location under hbase
  mv gen-java/org/apache/hadoop/hbase/thrift2/generated/* hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/
  # Remove the gen-java file made by thrift
  rm -rf gen-java

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

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