4

I am using Hbase 0.94.18 on AWS EMR. I am planning to use HappyBase as it looks very promising. Unfortunately I faced this issue on the very first attempt:

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'

Can you please help me?

Ayan Guha
  • 750
  • 3
  • 10

3 Answers3

3

Are you sure the interface you're connecting to is a HBase Thrift1 service? It looks like a protocol incompatibility...

wouter bolsterlee
  • 3,879
  • 22
  • 30
2

When using "hbase thrift2 start -threadpool" I get the same error.

When using "thrift" (i.e. thrift 1) the error disappears.

This is caused by accessing the thrift 2 interface using happybase's thrift 1 implementation.

rye
  • 487
  • 1
  • 5
  • 15
0

hbase thrift 2 has delete the function.

wgzhao
  • 560
  • 5
  • 5