AWS Hbase:方法名称无效:' getTableNames'

时间:2015-09-03 21:06:05

标签: python hbase happybase

我在AWS EMR上使用Hbase 0.94.18。我打算使用HappyBase,因为它看起来很有前途。不幸的是,我在第一次尝试时遇到了这个问题:

conn = happybase.Connection(port=9200,compat='0.94')

conn.tables()
Traceback (most recent call last):
File "", line 1, in 
File "/usr/local/lib/python2.6/site-packages/happybase/connection.py", line 238, in tables
names = self.client.getTableNames()
File "/usr/local/lib/python2.6/site-packages/happybase/hbase/Hbase.py", line 818, in getTableNames
return self.recv_getTableNames()
File "/usr/local/lib/python2.6/site-packages/happybase/hbase/Hbase.py", line 833, in recv_getTableNames
raise x
thrift.Thrift.TApplicationException: Invalid method name: 'getTableNames'

你能帮帮我吗?

3 个答案:

答案 0 :(得分:2)

您确定要连接的接口是HBase Thrift1服务吗?它看起来像协议不兼容...

答案 1 :(得分:1)

当使用“hbase thrift2 start -threadpool”时,我得到同样的错误。

当使用“节俭”(即节俭1)时,错误消失。

这是通过使用happybase的thrift 1实现访问thrift 2接口引起的。

答案 2 :(得分:0)

hbase thrift 2已删除该功能。