Прежде всего, я также прочитал этот вопрос (так как он кажется похожим).
Моя проблема в том, что я также пытаюсь подключиться к нашей системе Apache Hadoop, которая теперь защищена Kerberos. Я использую модуль Impyla для достижения этой цели. До установки Kerberos в системе Hadoop это работало хорошо. Сейчас я пробовал разные решения в интернете, и, похоже, ничего не работает, но я должен признать, что никогда раньше не работал с Kerberos.
Это код, который я использую:
conn = connect (host = host,
port = port,
auth_mechanism='GSSAPI',
kerberos_service_name='impala')
db_cursor = conn.cursor()
db_cursor.execute ('SHOW DATABASES')
results = db_cursor.fetchall()
db_names = [print(x[0]) for x in results]
(хост и порт передаются как переменные)
Ошибка на данный момент:
"нет модуля с именем thrift_sasl"
Использование Google в этом сообщении об ошибке не приводит меня к чему-то полезному, плохо. Некоторые говорят, что модуль "pyKerberos" должен быть установлен, но я не уверен, что это решит проблему.
Я что-то забыл? У меня также есть принципал и пароль Kerberos, и я управляю им с помощью «MIT Kerberos Ticket Manager». Но, может быть, мне также необходимо каким-то образом предоставить информацию в коде?
Надеюсь, кто-нибудь сможет мне помочь, потому что я застрял здесь. :-)