Невозможно прочитать данные таблицы HBase в автономном режиме HBase - PullRequest
0 голосов
/ 14 февраля 2019

Я создал кластер с одним узлом HBase, используя zookeeper по умолчанию.Мой hbase-site.xml имеет запись:

<configuration>
    <property>
       <name>hbase.rootdir</name>
       <value>hdfs://localhost:50077/hbase</value>
    </property>
    <property>
       <name>hbase.zookeeper.property.dataDir</name>
       <value>/usr/local/hbase/zookeeper</value>
    </property>
    <property>
        <name>hbase.cluster.distributed</name>
        <value>true</value>
    </property>

Я создал одну таблицу emp на Hbase, которая доступна через оболочку hbase:

hbase(main):001:0> list
TABLE
emp
sample_data:rfic
2 row(s) in 0.1530 seconds

=> ["emp", "sample_data:rfic"]

hbase(main):005:0> scan 'emp'
ROW                    COLUMN+CELL
 1                     column=personal data:city, timestamp=1549970066226, value=hyder
                       abad
 1                     column=personal data:name, timestamp=1549970049857, value=raju
 1                     column=professional data:designation, timestamp=1549970125784,
                       value=manager
 1                     column=professional data:salary, timestamp=1549970141915, value
                       =50000
 2                     column=personal data:name, timestamp=1550137295051, value=Bhupe
                       sh
2 row(s) in 0.0940 seconds

Теперь, когда я пытаюсь получить доступ к этой таблице, используя мой скрипт на python:

import happybase
conn = happybase.Connection(host='ec2-<my host ip>.compute-1.amazonaws.com', port=2181, autoconnect=True)
print("Connection established")
tbl_nm = 'emp'
table = conn.table(tbl_nm)
print("Checking table object",table)

Он выполняет сценарий [может подключиться к HBase и получить объект emp], но выдает ошибку при чтенииданные таблицы:

Connection established
('Checking table object', <happybase.table.Table name='emp'>)
Traceback (most recent call last):
  File "HBaseConnectionScript.py", line 19, in <module>
    for key, data in table.scan(b'1'):
  File "/home/ubuntu/.local/lib/python2.7/site-packages/happybase/table.py", line 402, in scan
    self.name, scan, {})
  File "/home/ubuntu/.local/lib/python2.7/site-packages/thriftpy/thrift.py", line 198, in _req
    return self._recv(_api)
  File "/home/ubuntu/.local/lib/python2.7/site-packages/thriftpy/thrift.py", line 210, in _recv
    fname, mtype, rseqid = self._iprot.read_message_begin()
  File "thriftpy/protocol/cybin/cybin.pyx", line 429, in cybin.TCyBinaryProtocol.read_message_begin (thriftpy/protocol/cybin/cybin.c:6325)
  File "thriftpy/protocol/cybin/cybin.pyx", line 60, in cybin.read_i32 (thriftpy/protocol/cybin/cybin.c:1546)
  File "thriftpy/transport/buffered/cybuffered.pyx", line 65, in thriftpy.transport.buffered.cybuffered.TCyBufferedTransport.c_read (thriftpy/transport/buffered/cybuffered.c:1881)
  File "thriftpy/transport/buffered/cybuffered.pyx", line 69, in thriftpy.transport.buffered.cybuffered.TCyBufferedTransport.read_trans (thriftpy/transport/buffered/cybuffered.c:1948)
  File "thriftpy/transport/cybase.pyx", line 61, in thriftpy.transport.cybase.TCyBuffer.read_trans (thriftpy/transport/cybase.c:1472)
  File "/home/ubuntu/.local/lib/python2.7/site-packages/thriftpy/transport/socket.py", line 125, in read
    message='TSocket read 0 bytes')
thriftpy.transport.TTransportException: TTransportException(message='TSocket read 0 bytes', type=4)

Я не могу понять, где именно проблема?

Я даже пытался запустить сервер hbasethrift и выполнить сценарий, но все еще столкнулся с той же проблемой.

Буду признателен за любую быструю помощь экспертов HBase.

С уважением, Бхупеш

...