Java通过thrift连接hbaseJava通过thrift连接hbase
1.安装thrift依赖包使用root登陆linux,1.1执行指令:yum -y install automake libtool flex bison pkgconfig gcc-c++ boost-devel libevent-devel zlib-devel python-devel ruby-devel openssl-devel结果如下图所示:1.2执行指令sudo curl?/mirror/ftp5.gwdg.de/pub/opensuse/repositories/home:/monkeyiq:/centos6updates/CentOS_CentOS-6/noarch/autoconf-2.69-12.2.noarch.rpm > autoconf-2.69-12.2.noarch.rpm结果如下图所示:1.3执行指令yum -y install autoconf-2.69-12.2.noarch.rpm结果如下图所示:1.4执行指令yum -y install git结果如下:2.安装thrift使用hadoop用户登陆linux2.1 执行指令git clone?/repos/asf/thrift.git2.2执行指令cd thriftgit checkout -b thrift-0.9.1 执行指令./bootstrap.sh2.4执行指令./configure2.5执行指令make2.6修改 /etc/sudoers,增加用户hadoop的配置2.7执行指令sudo make install2.8执行指令thrift –version3.创建java api3.1 下载 hbase源代码版本为 hbase-0.96.2-src.tar.gz将当前目录切换到 $HBASE_HOME/hbase-thrift/src/main/resources/org/apache/hadoop/hbase/thrift执行指令thrift --gen java Hbase.thrift3.2 启动 hbase thrift服务hbase thrift -p 9090 start3.3.得到libthrift-0.9.1.jar进入 /home/hadoop/thrift/lib/java运行 ant进入?/home/hadoop/thrift/lib/java/build得到 libthrift-0.9.1.jar如下图所示:3.4 下载slf4j-api-1.7.7.jar 和 slf4j-jdk14-1.7.7.jar下载地址?/download.html3.5 创建工程 chapter15导入 3.3 和 3.4步骤得到的jar包AbstractHBaseThriftService.java文件package cn.dataguru.hadoop.hbase.thrift; import java.util.List; import java.util.Map; import org.apache.hadoop.hbase.thrift.generated.Hbase; import org.apache.hadoop.hbase.thrift.generated.TRowResult; import org.apache.thrift.TException; import tocol.TBinaryProtocol; import tocol.TProtocol; import org.apache.thrift.transport.TSocket; import org.apache.thrift.transport.TTransport; import org.apache.thrift.transport.TTransportException; public abstract class AbstractHBaseThriftService { ?protected static final String CHARSET = "UTF-8"; ?private String host = "localhost"; ?private int port = 9090; ?private final TTransport transport; ?protected final Hbase.Client client; ?public AbstractHBaseThriftService() { ? transport = new TSocket(host, port); ? TProtocol protocol = new TBinaryProtocol(transport, true, true); ?