python thrift hbase安装连接
默认已装好
- hbase,我的版本是hbase-0.98.24,并运行
- python 2.7.x
步骤:
sudo apt-get install automake bison flex g++ git libboost-all-dev libevent-dev libssl-dev libtool make pkg-config,安装这些必要的包和库,官网的是libboost1.55-all-dev,但是我是用的是ubuntu16.04 LTS好像没这么低的版本,所以使用了libboost-all-dev替代
安装boost_1_60_0.tar.gz,这一步要好长时间
- wget http://sourceforge.net/projects/boost/files/boost/1.60.0/boost_1_60_0.tar.gz
- tar xvf boost_1_60_0.tar.gz
- cd boost_1_60_0
- ./bootstrap.sh
- sudo ./b2 install
下载thrift,
- download 地址
- tar thrift-0.10.0.tar.gz
- cd thrift-0.10.0.tar.gz
- ./configure && make
- sudo make install
检验thrift安装
root@ubuntu:/home/wasdns/thrift# thrift -version
Thrift version 1.0.0-dev
如果出错参考 http://www.cnblogs.com/qq952693358/p/6193842.html
一般我们在Linux下执行某些外部程序的时候可能会提示找不到共享库的错误, 比如:
tmux: error while loading shared libraries: libevent-1.4.so.2: cannot open shared object file: No such file or directory原因一般有两个, 一个是操作系统里确实没有包含该共享库(lib.so.文件)或者共享库版本不对, 遇到这种情况那就去网上下载并安装上即可.
另外一个原因就是已经安装了该共享库, 但执行需要调用该共享库的程序的时候, 程序按照默认共享库路径找不到该共享库文件.
root@ubuntu:/home/wasdns/thrift# cat /etc/ld.so.conf
include /etc/ld.so.conf.d/*.conf root@ubuntu:/home/wasdns/thrift# echo "/usr/local/lib" >> /etc/ld.so.conf
root@ubuntu:/home/wasdns/thrift# cat /etc/ld.so.conf
include /etc/ld.so.conf.d/*.conf /usr/local/lib
root@ubuntu:/home/wasdns/thrift# ldconfig
root@ubuntu:/home/wasdns/thrift# thrift -version
Thrift version 1.0.0-dev
安装完成后到hbase的目录下,找到Hbase.thrift,该文件一般在hbase目录下的src/main/resources/org/apache/hadoop/hbase/thrift。如果没有,那么下载响应的源码安装包,把其中的hbase-thrift目录下的src复制到hbase目录下。
- thrift --gen py Hbase.thrift 会生成gen-py文件夹,将其修改成hbase
- sudo pip install thrift 安装python的thrift库
- bin/hbase-daemon.sh start thrift 启动hbase的thrift服务,默认端口是9090
- 创建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('localhost', 9090); transport = TTransport.TBufferedTransport(transport) protocol = TBinaryProtocol.TBinaryProtocol(transport); client = Hbase.Client(protocol)
transport.open() contents = ColumnDescriptor(name='cf:', maxVersions=1)
client.createTable('test', [contents]) print client.getTableNames()
执行代码,成功后,进入hbase的shell,用命令list可以看到刚刚的test表已经创建成功。
python thrift hbase安装连接的更多相关文章
- 【hbase】使用thrift with python 访问HBase
HBase 版本: 0.98.6 thrift 版本: 0.9.0 使用 thrift client with python 连接 HBase 报错: Traceback (most recent ...
- ambari安装集群下python连接hbase之安装thrift
简介: python连接hbase是需要通过thrift连进行连接的,ambari安装的服务中貌似没有自带安装hbase的thrift,我是看配置hbase的配置名称里面没有thrift,cdh版本的 ...
- Hbase理论&&hbase shell&&python操作hbase&&python通过mapreduce操作hbase
一.Hbase搭建: 二.理论知识介绍: 1Hbase介绍: Hbase是分布式.面向列的开源数据库(其实准确的说是面向列族).HDFS为Hbase提供可靠的底层数据存储服务,MapReduce为Hb ...
- python操作Hbase
本地操作 启动thrift服务:./bin/hbase-daemon.sh start thrift hbase模块产生: 下载thrfit源码包:thrift-0.8.0.tar.gz 解压安装 . ...
- python 操作 hbase
python 是万能的,当然也可以通过api去操作big database 的hbase了,python是通过thrift去访问操作hbase 以下是在centos7 上安装操作,前提是hbase已经 ...
- python连接hbase
安装HBase HBase是一个构建在HDFS上的分布式列存储系统,主要用于海量结构化数据存储.这里,我们的目标只是为Python访问HBase提供一个基本的环境,故直接下载二进制包,采用单机安装.下 ...
- 【Hbase三】Java,python操作Hbase
Java,python操作Hbase 操作Hbase python操作Hbase 安装Thrift之前所需准备 安装Thrift 产生针对Python的Hbase的API 启动Thrift服务 执行p ...
- Python Thrift 简单示例
本文基于Thrift-0.10,使用Python实现服务器端,使用Java实现客户端,演示了Thrift RPC调用示例.Java客户端提供两个字符串参数,Python服务器端计算这两个字符串的相似度 ...
- python thrift使用实例
前言 Apache Thrift 是 Facebook 实现的一种高效的.支持多种编程语言的远程服务调用的框架.本文将从 Python开发人员角度简单介绍 Apache Thrift 的架构.开发和使 ...
随机推荐
- Python之数据结构:字符串中的方法
一.过滤字符串 1.strip() (1)去掉行收尾不可见字符 a = ' wejifrow ' print a print a.strip() 结果: wejifrow wejifrow (2)st ...
- django学习——通过get_FOO_display 查找模型中的choice值
在django的models.py 中,我们定义了一些choices的元组,类似一些字典值,一般都是下拉框或者单多选框,例如 0对应男 1对应女等. class Area(models.Model): ...
- vue项目中使用vue-awesome
公司在项目重构时,遇到图标问题,然后把vue-awesome.iconfont.iconMoon都试了一遍,虽然最终使用了iconMoon但是也要把这两个过程记录一下. github地址 1.首先安装 ...
- redux使用需要注意的地方
1. react和redux没有直接联系,当react需要结合redux使用的时候,需要引入 react-redux ,该插件提供了connet等方法使得react可以注入redux属性. 2. re ...
- T-SQL百万记录中分组取最大值方法ROW_NUMBER() OVER()
SELECT SysUserID, UserID, ROW_NUMBER() OVER(PARTITION BY UserID ORDER BY AddTime DESC) AS nums AND S ...
- javascript获取querystring值【个人觉得这种方法最好最棒最像.NET】
原文发布时间为:2009-05-22 -- 来源于本人的百度文章 [由搬家工具导入] JavaScript获取QueryString值, 当没有QueryString值时输出bool型 null 用j ...
- JavaScript内部是这样运行
编译阶段 词法分析(Lexing) 这个过程会将由字符组成的字符串分解成(对编程语言来说)有意义的代码块,这些代 码块被称为词法单元(token). 简单举个例子:c = b - a 转换为 NAME ...
- JDBC加载驱动的方法+statement
加载驱动方法 1.Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); 2. DriverManager.r ...
- MySql视图笔记(转载)
1. 视图的定义 视图就是从一个或多个表中,导出来的表,是一个虚拟存在的表.视图就像一个窗口(数据展示的窗口),通过这个窗口,可以看到系统专门提供的数据(也可以查看到数据表的全部数据),使 ...
- windows下安装oracle,sqlplus连接启动oracle(oracle 主机字符串输入是什么)
1.oracle安装 参考http://wenku.baidu.com/view/d01ffd43336c1eb91a375d68.html,这里不再赘述 2.命令行sqlplus连接oracle ...