通过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数据库
经过一番折腾,按照网上的多个经验成功使用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数据库
相关文章推荐
- 使用Python通过Thrift接口访问HBase和Hive
- 在windows7上,使用python通过thrift访问hbase
- python 通过happybase 访问hbase
- 【hbase】使用thrift with python 访问HBase
- python 通过thrift 简单操作hbase
- python是通过thrift来操作hbase的示例程序
- 通过thrift0.8.0访问hbase0.94.4
- python 通过thrift 简单操作hbase
- Python通过thrift访问hadoop:报错java.lang.IllegalArgumentException: Wrong FS: hdfs:/ expected file:///
- 使用Python语言通过Thrift 网关操作HBase
- [原创]Python通过Thrift连接HBase
- 嵌套类型Array[struct]通过python+thrift保存至HBase
- 使用C#通过Thrift访问HBase
- Python 通过thrift接口连接Hbase读取存储数据
- python 通过thrift 简单操作hbase
- python 通过thrift 简单操作hbase
- Python通过thrift连接Hbase(详细配置步骤)
- python 通过thrift 简单操作hbase
- 通过thrift使用PHP访问Hbase
- 使用C++(通过Thrift)访问/操作/读写Hbase