4

我在 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'

你能帮我么?

4

3 回答 3

3

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

于 2015-09-22T11:46:45.647 回答
2

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

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

这是由于使用happybase 的thrift 1 实现访问thrift 2 接口造成的。

于 2016-02-02T19:08:52.900 回答
0

hbase thrift 2 有删除功能。

于 2016-06-03T08:46:39.977 回答