Я следовал этому руководству , чтобы настроить сервер HBase Thrift в моем керберизованном кластере, и пытался следовать этим рекомендациям для доступа к нему с python: https://blog.csdn.net/gongbi917/article/details/52795232 (китайская версия - https://cloud.tencent.com/developer/article/1436986)
У меня есть очень простой пример кода python, который пытается подключиться к защищенному серверу HBase Thrift.
from thrift.transport import TSocket
from thrift.protocol import TBinaryProtocol
from hbase import Hbase
from hbase.ttypes import *
if __name__ == '__main__':
socket = TSocket.TSocket('host001.test.com', 9090)
transport = TTransport.TSaslClientTransport(socket, 'host001.test.com','hbase')
transport.open()
protocol = TBinaryProtocol.TBinaryProtocol(transport)
client = Hbase.Client(protocol)
print(client.getTableNames())
Но я получаю ошибка ниже:
thrift.transport.TTransport.TTransportException: Bad SASL negotiation status: 3 (b'Failure to initialize security context')
Кто-нибудь знает причину root этой ошибки?