使用python通过thrift从hbase读取数据时出错

使用python通过thrift从hbase读取数据时出错,python,hbase,thrift,Python,Hbase,Thrift,我正在尝试使用python从hbase读取数据。我安装了thrift,生成了gen py文件,然后将其移动到python库中:~/.local/lib/python2.7/site-packages/ hbase thrift服务器位于192.168.15.116:39090。是启动了 我的代码在服务器192.168.15.146中。在这台机器中,我可以使用hbase shell命令读取hbase数据。 以下是我的Python代码: #! /usr/bin/env python from thr

我正在尝试使用python从hbase读取数据。我安装了thrift,生成了gen py文件,然后将其移动到python库中:~/.local/lib/python2.7/site-packages/

hbase thrift服务器位于192.168.15.116:39090。是启动了

我的代码在服务器192.168.15.146中。在这台机器中,我可以使用hbase shell命令读取hbase数据。 以下是我的Python代码:

#! /usr/bin/env python
from thrift import Thrift                                                                                                                                                                
from thrift.transport import TSocket, TTransport                                                                                                                                         
from thrift.protocol import TBinaryProtocol                                                                                                                                              
from hbase import Hbase                                                                                                                                                                  


transport = TSocket.TSocket('192.168.15.116', 39090)                                                                                                                                     

transport.setTimeout(5000)                                                                                                                                                               

#transport = TTransport.TBufferedTransport(transport)                                                                                                                                    

protocol = TBinaryProtocol.TBinaryProtocol(transport)                                                                                                                                    

client = Hbase.Client(protocol)                                                                                                                                                          

transport.open()                                                                                                                                                                         


print(client.getTableNames())
一切正常,但最后一行,错误如下:

 Traceback (most recent call last):
  File "test01.py", line 24, in <module>
    client.getTableNames()
  File "~/.local/lib/python2.7/site-packages/hbase/Hbase.py", line 788, in getTableNames
    return self.recv_getTableNames()
  File "~/.local/lib/python2.7/site-packages/hbase/Hbase.py", line 803, in recv_getTableNames
    raise x
thrift.Thrift.TApplicationException: Internal error processing getTableNames
回溯(最近一次呼叫最后一次):
文件“test01.py”,第24行,在
client.getTableNames()
文件“~/.local/lib/python2.7/site packages/hbase/hbase.py”,第788行,在getTableNames中
返回self.recv_getTableNames()
文件“~/.local/lib/python2.7/site packages/hbase/hbase.py”,第803行,recv_getTableNames
升起x
thrift.thrift.TApplicationException:处理GetTableName时出现内部错误
我在谷歌上搜索了一下,但找不到解决这个错误的方法,有人能帮我一下吗??
提前谢谢

我不确定,但在快速查看代码后,服务器上的处理程序/处理器代码似乎引发了意外异常。意料之外的含义:既不是旧版本,也不是IDL文件中声明的异常之一

在这种情况下,建议查看HBase,这是否是一个已知问题,等等