Hortonworks: Не удается запросить HFase-сервер от Python (Happybase) - PullRequest
0 голосов
/ 27 мая 2019

Я пытаюсь подключиться к комиссионному серверу HBase в моем hortonworks DP.

Я использую HDP 3.0 с Apache HBase 2.0.0

Я запустил HBase-сервер с защитой Kerberos

kinit -kt /etc/security/keytabs/hbase.service.keytab hbase/node1.domain.com@domain.com && /usr/hdp/current/hbase-master/bin/hbase-daemon.sh start thrift -p 12345

Сначала я получал сообщение об ошибке «Нет заголовка версии протокола». Я полагаю, это была ошибка совместимости протокола, поэтому я попробовал несколько вещей

  • Я читал, что thirft 2 не был поддержан happybase, поэтому я протестировал с easybase, форком happybase для поддержки thrift2. Я получаю сообщение об ошибке «TSocked read 0 bytes» через пару минут (время ожидания?)

-Тогда я попытался запустить службу «thirft2» вместо «thrift», так как понял, что они разные:

kinit -kt /etc/security/keytabs/hbase.service.keytab hbase/node1.domain.com@domain.com && /usr/hdp/current/hbase-master/bin/hbase-daemon.sh start thrift2 -p 12345

Но получил ту же ошибку.

Мой код похож на следующий фрагмент:

import os
import easybase
os.system("kinit -kt /app/hbase.service.keytab hbase/node1.domain.com@domain.com")
connection = easybase.Connection(host="node1", port= 12345)
table = connection.table("users")
for key, data in table.scan(row_prefix="username"):
    print(key)

Те же ошибки с happybase вместо easybase

Спасибо

...