Я обращаюсь к Hbase, используя happybase
с python.Ошибки тайм-аута Hbase продолжаются
Я очень простую функцию:
def connect():
connection = happybase.Connection('myhost',myport)
table = connection.table('MY-TABLE')
try:
return str(table.row('my-row'))
except Exception as ioe:
return str(ioe)
finally:
connection.close()
При запуске этой функции он прекрасно работает в течение нескольких минут, после чего я начинаю получать ошибки тайм-аута.
Исправление состоит в том, чтобы войти в консоль Hbase и открыть новый бережливый порт и указать на это.
Это работает снова в течение нескольких минут, а затем снова получаю ошибки таймаута.
Неплохое решение, любая идея, почему это может произойти?
EDIT
Вот ошибка:
`Traceback (most recent call last):
File "appi.py", line 38, in <module>
print connectx()
File "appi.py", line 26, in connectx
print str(table.row('1464242429566-2531079631688429'))
File "C:\Users\me\Downloads\happybase-master\happybase-master\happybase\table.py", line 116, in row
self.name, row, columns, {})
File "C:\Python27\lib\site-packages\thriftpy-0.3.8-py2.7.egg\thriftpy\thrift.py", line 160, in _req
return self._recv(_api)
File "C:\Python27\lib\site-packages\thriftpy-0.3.8-py2.7.egg\thriftpy\thrift.py", line 172, in _recv
fname, mtype, rseqid = self._iprot.read_message_begin()
File "C:\Python27\lib\site-packages\thriftpy-0.3.8-py2.7.egg\thriftpy\protocol\binary.py", line 372, in read_message_begin
self.trans, strict=self.strict_read)
File "C:\Python27\lib\site-packages\thriftpy-0.3.8-py2.7.egg\thriftpy\protocol\binary.py", line 164, in read_message_begin
sz = unpack_i32(inbuf.read(4))
File "C:\Python27\lib\site-packages\thriftpy-0.3.8-py2.7.egg\thriftpy\transport\__init__.py", line 32, in read
return readall(self._read, sz)
File "C:\Python27\lib\site-packages\thriftpy-0.3.8-py2.7.egg\thriftpy\transport\__init__.py", line 14, in readall
chunk = read_fn(sz - have)
File "C:\Python27\lib\site-packages\thriftpy-0.3.8-py2.7.egg\thriftpy\transport\buffered\__init__.py", line 39, in _read
self._rbuf = BytesIO(self._trans.read(max(sz, self._buf_size)))
File "C:\Python27\lib\site-packages\thriftpy-0.3.8-py2.7.egg\thriftpy\transport\socket.py", line 108, in read
buff = self.sock.recv(sz)
socket.timeout: timed out`
Постараюсь это. Но почему это, кажется, работает нормально в начале, а затем это время в 100% случаев. Должно быть, что-то «исправляемое» вызывает это? –
Можете ли вы PLS. после завершения полной трассировки стека. –
Спасибо за помощь. Ive отредактировал вопрос –