您的位置:首页 > 编程语言 > Python开发

通过Thrift用Python访问HBase

2018-02-21 23:14 399 查看
用Python直接连接HBase时,需要通过Thrift作为中转,才能使用Python访问HBase。
经过一番折腾,按照网上的多个经验成功使用Python访问到HBase,整理汇总如下: 
配置环境: 
操作系统:CentOS Linux release 7.4.1708(Core)
Python: 3.6.4
HBase: 1.4.1
Thrift: 0.11.0
配置步骤: 
1.   安装Thrift的依赖组件:
        A.    安装autoconf
                下载autoconf ,如autoconf-2.69.tar.gz
                tar xvf autoconf-2.69.tar.gz
                cd autoconf-2.69
                ./configure --prefix=/usr
                make
                make install
        B.    安装automake
                下载automake,如automake-1.15.tar.gz
                tar xvf automake-1.15.tar.gz
                cd automake-1.15
                ./configure --prefix=/usr
                make
                make install
       C.   安装bison
                下载bison,如bison-3.0.4.tar.gz
                tar xvf bison-3.0.4.tar.gz
                cd bison-3.0.4
                ./configure --prefix=/usr
                make
                make install
       D.   安装C++依赖库
                yum -y install libevent-develzlib-devel openssl-devel
       E.    安装boost (这个时间很长,需耐心等待)
                下载boost,如boost_1_66_0.tar.gz
                tar xvf boost_1_66_0.tar.gz
                cd boost_1_66_0
                ./bootstrap.sh --prefix=/usr
                ./b2 install
       F.    安装libevent
                下载libevent,如libevent-2.1.8-stable.tar.gz
                tar xvf libevent-2.1.8-stable.tar.gz
                cd libevent-2.1.8-stable
                ./configure --prefix=/usr
                make
                make install
2.   安装Thrift
       下载thrift,如thrift-0.11.0.tar.gz
       tar xvf thrift-0.11.0.tar.gz
       cd thrift-0.11.0
       ./configure --prefix=/usr--with-libevent=/usr --with-boost=/usr
       make
       make install
3.   安装six组件包
       下载six,如six-1.11.0.tar.gz
       tar xvf six-1.11.0.tar.gz
       cd six-1.11.0
       python setup.py install 
       安装成功后,使用 pip list 指令检查是否存在six组件包
       注意:这句脚本安装的组件包会安装在对应的python执行程序的版本上
4.   开启HBase对Thrfit的支持
       cd $HBASE_HOME/bin
       ./hbase-daemon.sh startthrift
       启动成功后,使用jps查看是否有ThriftServer进程
5.   在python终端编写连接hbase的测试脚本:
       >>>from thrift import Thrift
       >>>from thrift.transport import TSocket, TTransport
       >>>from thrift.protocol import TBinaryProtocol
       >>>from hbase import Hbase
       >>>transport = TSocket.TSocket('127.0.0.1', 9090)
       >>>transport.setTimeout(50000)
       >>>trans = TTransport.TBufferedTransport(transport)
       >>>protocol = TBinaryProtocol.TBinaryProtocol(trans)
       >>>client = Hbase.Client(protocl)
       >>>transport.open()
       >>>client.getTableNames()
        注:最终的结果将显示所有的数据表,说明能够访问到HBase数据库
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  HBase Python Thrift