首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >happy base集成与hbase不兼容

happy base集成与hbase不兼容
EN

Stack Overflow用户
提问于 2016-05-26 21:38:15
回答 1查看 823关注 0票数 0

我可以连接我的hbase

代码语言:javascript
复制
    connection = happybase.Connection(host='node-04',port=16000)
    table = connection.table('test')

这两个命令工作正常,没有任何错误。但是当我运行下面的命令时,我得到了以下错误

代码语言:javascript
复制
    print connection.tables()
    error                                     
    Traceback (most recent call last)
    <ipython-input-49-de0848d7286f> in <module>()
    ----> 1 print connection.tables()

    /root/anaconda2/lib/python2.7/site-packages/happybase/connection.pyc in                 tables(self)
    236         :rtype: List of strings
237         """
    --> 238         names = self.client.getTableNames()
239 
240         # Filter using prefix, and strip prefix from names

    /root/anaconda2/lib/python2.7/site-packages/happybase/hbase/Hbase.pyc in getTableNames(self)
815     @return returns a list of names
816     """
    --> 817     self.send_getTableNames()
818     return self.recv_getTableNames()
819 

    /root/anaconda2/lib/python2.7/site-packages/happybase/hbase/Hbase.pyc in send_getTableNames(self)
823     args.write(self._oprot)
824     self._oprot.writeMessageEnd()
    --> 825     self._oprot.trans.flush()
826 
827   def recv_getTableNames(self, ):

    /root/anaconda2/lib/python2.7/site-packages/thrift/transport/TTransport.pyc in flush(self)
172     # reset wbuf before write/flush to preserve state on underlying failure
173     self.__wbuf = StringIO()
    --> 174     self.__trans.write(out)
175     self.__trans.flush()
176 

    /root/anaconda2/lib/python2.7/site-packages/thrift/transport/TSocket.pyc in write(self, buff)
128     have = len(buff)
129     while sent < have:
    --> 130       plus = self.handle.send(buff)
131       if plus == 0:
132         raise TTransportException(type=TTransportException.END_OF_FILE,

    error: [Errno 32] Broken pipe

我正在使用Hbase version:1.1.2.2.3.4.0-3485

如果你能推荐任何我可以用python为hbase编写代码的包,请帮助我

EN

回答 1

Stack Overflow用户

发布于 2016-07-21 16:42:50

happybase要求您连接到thrift守护进程,您需要在hbase集群上启动该守护进程。happybase不直接连接hbase节点。

从端口号可以看出,您连接的不是thrift (默认使用端口9090 ),而是hbase master。这不是happybase的工作方式。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37462517

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档