简介:  

  python连接hbase是需要通过thrift连进行连接的,ambari安装的服务中貌似没有自带安装hbase的thrift,我是看配置hbase的配置名称里面没有thrift,cdh版本的就有,所以我就自己安装了thrift。

一、thrift安装:

1、下载thrift依赖的东西

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

2、安装boost_1_53_0.tar.gz

  1. [root@master ~]# wget http://sourceforge.net/projects/boost/files/boost/1.53.0/boost_1_53_0.tar.gz
  2. [root@master ~]# tar xvf boost_1_53_0.tar.gz
  3. [root@master ~]# cd boost_1_53_0
  4. [root@master boost_1_53_0]# ./bootstrap.sh
  5. [root@master boost_1_53_0]# ./b2 install
  6. [root@master boost_1_53_0]# cp /usr/local/lib/libboost_unit_test_framework.a /usr/lib64/
  7. [root@master boost_1_53_0]# make
  8. [root@master boost_1_53_0]# make install

3、下载最新版本thrift,网址:http://thrift.apache.org
 
4、移动到默认安装目录,并解压

  1. [root@master ~]# mv thrift-0.11.0.tar.gz /usr/local
  2. [root@master ~]# cd /usr/local
  3. [root@master local]# tar -zxvf thrift-0.11.0.tar.gz
  4. [root@master local]# mv thrift-0.11.0 thrift
  5. [root@master local]# cd thrift
  6. [root@master local]# ./configure --libdir=/usr/lib --without-java --without-python --without-c_glib
  7. [root@master local]# make
  8. [root@master local]# make install

二、启动thrift

1、找到hbase的bin执行文件夹,我执行的位置是ambari默认安装的文件夹下面/usr/hdp/2.6.3.0-235/hbase/bin

2、启动thrift,默认端口是9090

  1. [root@master ~]# cd /usr/hdp/2.6.3.0-235/hbase/bin
  2. [root@master bin]# bin/hbase-daemon.sh start thrift

三、使用python连接hbase

1、安装python依赖包

  1. pip install thrift
  2. pip install hbase-thrift

2、demo程序

  1. from thrift import Thrift
  2. from thrift.transport import TSocket
  3. from thrift.transport import TTransport
  4. from thrift.protocol import TBinaryProtocol
  5.  
  6. from hbase import Hbase
  7. from hbase.ttypes import *
  8.  
  9. transport = TSocket.TSocket('localhost', 9090)
  10.  
  11. transport = TTransport.TBufferedTransport(transport)
  12. protocol = TBinaryProtocol.TBinaryProtocol(transport)
  13.  
  14. client = Hbase.Client(protocol)
  15. transport.open()
  16.  
  17. contents = ColumnDescriptor(name='cf:', maxVersions=1)
  18. # client.deleteTable('test')
  19. client.createTable('test', [contents])
  20.  
  21. print client.getTableNames()
  22.  
  23. # insert data
  24. transport.open()
  25.  
  26. row = 'row-key1'
  27.  
  28. mutations = [Mutation(column="cf:a", value="")]
  29. client.mutateRow('test', row, mutations)
  30.  
  31. # get one row
  32. tableName = 'test'
  33. rowKey = 'row-key1'
  34.  
  35. result = client.getRow(tableName, rowKey)
  36. print result
  37. for r in result:
  38. print 'the row is ', r.row
  39. print 'the values is ', r.columns.get('cf:a').value
  40. transport.close()

ambari安装集群下python连接hbase之安装thrift的更多相关文章

  1. ambari安装集群下安装kafka manager

    简介: 不想通过kafka shell来管理kafka已创建的topic信息,想通过管理页面来统一管理和查看kafka集群.所以选择了大部分人使用的kafka manager,我一共有一台主机mast ...

  2. Cloudera Manager 安装集群遇到的坑

    Cloudera Manager 安装集群遇到的坑 多次安装集群,但每次都不能顺利,都会遇到很多很多的坑,今天就过去踩过的坑简单的总结一下,希望已经踩了的和正在踩的童鞋能够借鉴一下,希望对你们能有所帮 ...

  3. kubeadm安装集群系列(kubeadm 1.15.1)

    kubeadm已经进入GA阶段,所以尝试使用kubeadm从零开始安装高可用的Kubernetes集群,并记录下过程和所有坑 本文基于kubeadm 1.15.1 目录 kubeadm安装集群系列-1 ...

  4. VMWare9下基于Ubuntu12.10搭建Hadoop-1.2.1集群—整合Zookeeper和Hbase

    VMWare9下基于Ubuntu12.10搭建Hadoop-1.2.1集群-整合Zookeeper和Hbase 这篇是接着上一篇hadoop集群搭建进行的.在hadoop-1.2.1基础之上安装zoo ...

  5. Kafka:ZK+Kafka+Spark Streaming集群环境搭建(十)安装hadoop2.9.0搭建HA

    如何搭建配置centos虚拟机请参考<Kafka:ZK+Kafka+Spark Streaming集群环境搭建(一)VMW安装四台CentOS,并实现本机与它们能交互,虚拟机内部实现可以上网.& ...

  6. 阿里云ECS服务器部署HADOOP集群(七):Sqoop 安装

    本篇将在 阿里云ECS服务器部署HADOOP集群(一):Hadoop完全分布式集群环境搭建 阿里云ECS服务器部署HADOOP集群(二):HBase完全分布式集群搭建(使用外置ZooKeeper) 阿 ...

  7. Kafka:ZK+Kafka+Spark Streaming集群环境搭建(九)安装kafka_2.11-1.1.0

    如何搭建配置centos虚拟机请参考<Kafka:ZK+Kafka+Spark Streaming集群环境搭建(一)VMW安装四台CentOS,并实现本机与它们能交互,虚拟机内部实现可以上网.& ...

  8. 阿里云ECS服务器部署HADOOP集群(五):Pig 安装

    本篇将在阿里云ECS服务器部署HADOOP集群(一):Hadoop完全分布式集群环境搭建的基础上搭建. 1 环境介绍 一台阿里云ECS服务器:master 操作系统:CentOS 7.3 Hadoop ...

  9. mycat数据库集群系列之数据库多实例安装

    mycat数据库集群系列之数据库多实例安装 最近在梳理数据库集群的相关操作,现在花点时间整理一下关于mysql数据库集群的操作总结,恰好你又在看这一块,供一份参考.本次系列终结大概包括以下内容:多数据 ...

随机推荐

  1. C# 文件与二进制互转数据库写入读出

    //这个方法是浏览文件对象 private void button1_Click(object sender, EventArgs e) { //用户打开文件浏览 using (OpenFileDia ...

  2. InnoDB存储引擎表的逻辑存储结构

    1.索引组织表:     在InnoDB存储引擎中,表都是依照主键顺序组织存放的.这样的存储方式的表称为索引组织表,在innodb存储引擎表中,每张表都有主键.假设创建的时候没有显式定义主键,则Inn ...

  3. 使用 C# 开发智能手机软件:推箱子(十八)

    这是"使用 C# 开发智能手机软件:推箱子" 系列文章的第十八篇.在这篇文章中.介绍 Window/SelectLevelDlg.cs 源程序文件. 这个源程序文件包括 Selec ...

  4. CConfig类

    #ifndef __CONFIG_H__ #define __CONFIG_H__ #include "GameFrameHead.h" //图片信息 struct ImageIn ...

  5. Eclipse上Hadoop插件中Run On Hadoop原理[转]

    通过Eclipse的hadoop插件中的"run on hadoop"命令的原理:它不是把jar包发送到hadoop集群上去运行,而只是使用了hadoop集群上的hdfs,从hdf ...

  6. js基本知识4

    1. 数组 看电影 电影院 座位 大的变量 里面可以放很多的值 var arr = [1,3,57]; var ar = new Array(); new object(); new Date() v ...

  7. 解决 Python.h:没有那个文件或目录 错误的方法

    http://www.cnblogs.com/yuxc/archive/2012/05/13/2498019.html ———————————————————————————————————————— ...

  8. Desugar Scala(15) -- unapply和unapplySeq方法

    欢迎关注我的新博客地址:http://cuipengfei.me/ 实在想不到什么动词可以当做脱衣服来讲了,所以从现在开始这系列博文就叫做Desugar Scala了.除非哪天才思泉涌,又想到了新词: ...

  9. 指数族分布(Exponential Families of Distributions)

    指数族分布是一大类分布,基本形式为: T(x)是x的充分统计量(能为相应分布提供足够信息的统计量) 为了满足归一化条件,有: 可以看出,当T(x)=x时,e^A(theta)是h(x)的拉普拉斯变换. ...

  10. 28Mybatis_查询缓存-二级缓存-二级缓存测试-

    二级缓存原理: