我正在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条答案
按热度按时间iyzzxitl1#
hbase thrift 2具有删除功能。
ilmyapht2#
您确定要连接的接口是hbase thrift1服务吗?看起来是协议不兼容。。。
thigvfpy3#
当使用“hbase thrift2 start-threadpool”时,我得到了相同的错误。
当使用“节俭”(即节俭1)时,错误消失。
这是由于使用happybase的thrift 1实现访问thrift 2接口造成的。