Python实现Linux环境下Hbase操作


实验环境:CentOS6.7,Hadoop2.7.3,HBase1.2.5,zookeeper3.4.6

Linux下安装Python环境

安装依赖环境

yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel
yum -y install gcc

由于yum安装的bison版本兼容性问题后面会出现报错
checking for bison version >= 2.5… no
configure: error: Bison version 2.5 or higher must be installed on the system!
故需下载升级版本的bison

下载升级版本的bison

wget http://ftp.gnu.org/gnu/bison/bison-2.5.1.tar.gz

解压

tar xvf bison-2.5.1.tar.gz

进入bison安装目录执行配置脚本

./configure

编译

make

安装

make install

下载python安装环境(3.6更具兼容性)

https://www.python.org/ftp/python/

wget https://www.python.org/ftp/python/3.6.6/Python-3.6.6.tgz

解压

tar xvf Python-3.6.6.tgz

进入python文件夹,生成编译脚本(指定安装目录)

./configure --prefix=/usr/local/python3  

编译

make

安装

make install

在这里插入图片描述

建立软连接,便于直接使用命令

ln -s /usr/local/python3/bin/python3 /usr/bin/python3
ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3

验证python3配置完毕

python3 -V
pip3 -V

在这里插入图片描述

安装thift

安装python的thrift库使支持Thrift协议

pip3 install thrift

下载安装thift依赖包

yum install -y automake libtool flex bison pkgconfig gcc-c++ boost-devel libevent-devel zlib-devel python-devel ruby-devel openssl-devel

下载thift 0.9.3

wget http://apache.fayea.com/thrift/0.9.3/thrift-0.9.3.tar.gz

上面的无法链接时,用下边的命令下载

wget http://mirrors.cnnic.cn/apache/thrift/0.9.3/thrift-0.9.3.tar.gz

解压

tar xvf thrift-0.9.3.tar.gz

进入thrift安装目录,执行配置脚本

./configure

编译

make

安装

make install

生成thrift的python编译版

下载hbase源码版

wget http://archive.apache.org/dist/hbase/1.2.5/hbase-1.2.5-src.tar.gz

解压

tar xvf hbase-1.2.5-src.tar.gz

进入存有hbase.thrift的目录下

cd hbase-1.2.5/hbase-thrift/src/main/resources/org/apache/hadoop/hbase/thrift/

使用thrift编译hbase.thrift

thrift --gen py Hbase.thrift

拷贝gen-py目录下的hbase目录到python的安装目录里的site-packages目录下

cp -r hbase /usr/local/python3/lib/python3.6/site-packages/

进入site-packages目录下的hbase目录,修改Hbase.py和constant.py文件(python3需要)

from ttypes import *
改为
from hbase.ttypes import *
再次修改Hbase.py和ttypes.py文件,然后找到该目录后,将虚拟机文件转到本地主机,使用记事本打开文件,按Ctrl+H快捷键,替换xrange为range和__dict__.iteritems为__dict__.items后保存
也可直接下载下面文件覆盖修改Hbase.py,constants.py,ttypes.py文件
下载链接

启动thrift服务

hbase-daemon.sh start thrift

验证是否启动thrift服务

在这里插入图片描述

thrfit使用问题汇总

Pycharm无法连接本机hbase

使用本机pycharm连接虚拟机的hbase时,首先需要与虚拟机相互ping通,若未能ping通,可能是虚拟机的网络适配器和虚拟机不处于同一网段,需配置如下
步骤如下:
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
连接hbase时报错
在这里插入图片描述
解决:
hbase没有启动thrift服务

hbase-dameon.sh start thrfit

使用metateRow()函数,插入行数据时报错
在这里插入图片描述
解决:
Hbase表中需要已定义相应列族才能插入数据,需定义好后再插入

  • 4
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
1.1 HBase环境配置: 1. 安装Java环境 HBase是基于Java开发的,因此需要先安装Java环境,可以从官网上下载JDK安装包进行安装。 2. 下载并解压HBase安装包 从官网上下载HBase安装包,解压到指定目录。 3. 配置HBase环境变量 在系统环境变量中添加HBase的bin目录路径,使得在命令行中可以直接使用HBase命令。 4. 修改HBase配置文件 在HBase的conf目录下找到hbase-site.xml文件,修改其中的hbase.rootdir、hbase.zookeeper.quorum、hbase.zookeeper.property.dataDir等属性,配置HBase的根目录、Zookeeper的地址和数据存储目录等。 5. 启动HBase 在命令行中输入start-hbase.sh(Linux/MacOS)或start-hbase.bat(Windows)启动HBase。 1.2 HBase操作: 1. 创建表 在HBase shell中使用create命令创建表,指定表名和列族。 2. 插入数据 使用put命令插入数据,指定表名、行键、列族、列和值。 3. 查询数据 使用get命令查询数据,指定表名、行键、列族和列,可以获取指定单元格的值。 4. 删除数据 使用delete命令删除数据,指定表名、行键、列族和列,可以删除指定单元格的数据。 5. 删除表 使用disable命令先禁用表,然后使用drop命令删除表,也可以直接使用deleteall命令删除表及其所有数据。 1.3 Python访问HBase: 1. 安装happybase模块 使用pip命令安装happybase模块,该模块提供了Python访问HBase的API。 2. 创建连接 使用happybase模块中的Connection函数创建连接,指定Zookeeper的地址和端口号。 3. 创建表 使用create_table函数创建表,指定表名和列族等信息。 4. 插入数据 使用table.put函数插入数据,指定行键、列族、列和值等信息。 5. 查询数据 使用table.row函数查询指定行的数据,使用table.scan函数扫描整个表的数据。 6. 删除数据 使用table.delete函数删除指定行或指定单元格的数据。 7. 关闭连接 在程序结束时使用close函数关闭连接。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值