python连接Hbase

转载 2015年11月19日 15:06:17

pyspark Python 连接 HBase thrift

0.引言

HBase-thrift项目是对HBase Thrift接口的封装,屏蔽底层的细节,使用户可以方便地通过HBase Thrift接口访问HBase集群,python通过thrift访问HBase。

1.thrift安装

thrift官网
下载thrift-0.9.3.tar.gz
下载后解压到当前文件夹

tar xvf thrift-0.9.3.tar.gz
进入thrift-0.9.3文件夹

cd thrift-0.9.3
构建

./configure –prefix=/usr/qy/thrift
错误:configure:error:Bison 2.5 or higher must be installed on the system.
查看bison版本:

which bison
/usr/bin/bison -V (我的是2.4)
下载bison 2.5

tar xvf bison-2.5.tar.gz
cd bison-2.5
./configure –prefix=/usr(覆盖原有的bison)
或者./configure –prefix=/usr/qy/bison-2.5
make
make install(卸载的话直接在当前目录(bison-2.5)里make uninstall)
然后在vim ~/.bashrc 中添加路径
即:原来是:
export PATH=”/usr/qy/anaconda/bin:PATHexportPATH=/usr/qy/ananconda/bin:/usr/qy/bison/bin:PATH”
然后source ~/.bashrc 使配置的环境变量生效

现在再查看

bison -V (2.5了)
继续进入thrift文件夹 并configure

cd thrift-0.9.3
./configure
在configure的时候可以选择配置接口

./configure –with-python=yes –with-lua=no –with-java=no(选择配置python接口,其他的不需要配置)
make 【(如果不是root用户的话)sudo make】

make install 【sudo make install】

which thrift #usr/local/bin/thrift
thrift -version # Thrift version 0.9.3

2.生成hbase python client

1.HBase部分

下载HBase源码包
wget http://mirrors.cnnic.cn/apache/hbase/1.1.2/hbase-1.1.2-src.tar.gz
hbase-1.1.2-src.tar.gz

tar zxf hbase-1.1.2-src.tar.gz
cd ./hbase-1.1.2/hbase-thrift/src/main/resources/org/apache/hadoop/hbase/thrift

ps. HBase有两个thrift版本的接口,称为thrift和thrift2,thrift1很可能被抛弃。。

thrift --gen py ./Hbase.thrift 
ls -l
# 会看到生成一个gen-py/hbase的目录
# ./Hbase.py 中定义了一些HbaseClient可以使用的方法
# ./ttypes.py中定义了HbaseClient传输的数据类型
# 调用client脚本的服务器上需要安装thrift
total 28
drwxr-xr-x 3 root root    4096 Dec 13 18:26 gen-py
-rw-r--r-- 1 1000 hadoop 23671 Nov 15 05:58 Hbase.thrift

# 将产生的gen-py目录拷贝到python目录
cp -rp gen-py/hbase/ /usr/lib64/python2.6/site-packages/

2.python 部分

pip install thrift # successfully installed thrift 0.9.3(事先装了anaconda)
3.测试使用python通过thrift接口访问hbase中的表

  1. 启动hbase的thrift服务器

要使用HBase的thrift接口,必须将它的服务启动

hbase thrift -p 9090 start #thrift默认的监听端口是9090,可以用 netstat -nl | grep 9090 查看该端口是否有服务。
或者
./hbase-daemon.sh start thrift(好像用这个比较好)
ps:结束thrift进程:
./hbase-daemon.sh stop thrift

jps

9524 JobTracker
11430 Jps
9369 NameNode
11227 ThriftServer
11115 HRegionServer
10797 QuorumPeerMain
10973 HMaster

2.测试一:列出hbase中的表

编辑python测试程序:

[root@test1 thrift_test]# python
Python 2.6.6 (r266:84292, May 1 2012, 13:52:17)
[GCC 4.4.6 20110731 (Red Hat 4.4.6-3)] on linux2
Type “help”, “copyright”, “credits” or “license” for more information.

import sys
sys.path.append(‘/usr/lib64/python2.6/site-packages/hbase/’)
from thrift import Thrift
from thrift.transport import TSocket
from thrift.transport import TTransport
from thrift.protocol import TBinaryProtocol
from hbase import Hbase
from hbase.ttypes import *
transport = TSocket.TSocket(‘192.168.1.131’, 9090)
transport = TTransport.TBufferedTransport(transport)
protocol = TBinaryProtocol.TBinaryProtocol(transport)
client = Hbase.Client(protocol)
transport.open()
print(client.getTableNames())
[‘member’]

reference

*【 有用!】蛋疼的thrift安装及简单的操作hbase表
* python调用HBase范例
* Python 连接Hbase (centos6.5)

相关文章推荐

[bigdata-016] python happybase 操作hbase

1. 用happybase库 操作 hbase     http://happybase.readthedocs.io/en/latest/ 2. cdh集群的hbase集群有三个节点     ma...

Python操作HBase

Python访问HBase Demo。HBase是一个构建在HDFS上的分布式列存储系统,主要用于海量结构化数据存储。这里,我们的目标只是为Python访问HBase提供一个基本的环境,故直接下载二进...
  • dutsoft
  • dutsoft
  • 2017年03月04日 15:44
  • 3485

Python 通过thrift接口连接Hbase读取存储数据

介绍: Hbase:开源的分布式数据库 资料介绍:http://www.oschina.net/p/hbase Thrift:一个软件框架,用来进行可扩展且跨语言的服务的开发。最初由Facebo...

python连接HBase

环境 hadoop 2.7.0 hbase 1.2.1 Thrift 0.9.0 启动hbase的Thrift RPC 生成python的Thrift模块 c...

Python 连接Hbase (centos6.5)

编译安装Thrift http://thrift.apache.org/docs/install/centos

Python 使用thrift连接hbase || 远程连接hbase

1.首先下载Python & thrift &hbase 有两种安装thrift的方式:1.下载的thrift-0.9.3.tar.gz >> 解压 tar xzvf thrift-0.9.3.tar...

Thrift安装配置及使用python通过thrift连接HBase测试

准备工作及测试环境:1)Hadoop集群【已完成】 版本:hadoop-0.20.2 安装路径:/usr/local/hadoop-0.20.2 NameNode:192.168.85.128 ...

python通过thrift连接Hbase

安装python 安装thrift 生成接口文件 启动thrift服务 运行test

Hadoop-2.6.0+Zookeeper-3.4.6+Spark-1.5.0+Hbase-1.1.2+Hive-1.2.0集群搭建

前言 本博客目的在于跟大家分享大数据平台搭建过程,是笔者半年的结晶。在大数据搭建过程中,希望能给大家提过一些帮助,这也是本博客的价值所在。 博客内容分为将五个部分,具体如下:第一部分 集群平台搭...

Spark处理Json格式数据(Python)

前言   Spark能够自动推断出Json数据集的“数据模式”(Schema),并将它加载为一个SchemaRDD实例。这种“自动”的行为是通过下述两种方法实现的:   jsonFile:从一...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:python连接Hbase
举报原因:
原因补充:

(最多只允许输入30个字)