Я на W8 машине, где я использую Python (Anaconda распределения) для подключения к Impala в нашем Hadoop кластера с использованием пакета Impyla. Наш кластер hadoop защищен с помощью Kerberos. Я выполнил команду API REFERENCE, как настроить соединение.Подключение к Impala с помощью impyla клиента с Kerberos аутентификации
from impala.dbapi import connect
conn = connect(host='localhost', port=21050, auth_mechanism='GSSAPI',
kerberos_service_name='impala')
Мы используем Kerberos GSSAPI с SASL
auth_mechanism='GSSAPI'
мне удалось установить библиотеку питон-SASL для Win8, но до сих пор я сталкиваюсь эту ошибку.
Could not start SASL: Error in sasl_client_start (-4) SASL(-4): no mechanism available: No worthy mechs found (code THRIFTTRANSPORT): TTransportException('Could not start SASL: Error in sasl_client_start (-4) SASL(-4): no mechanism available: No worthy mechs found',)
Интересно, не пропал ли я еще какие-то зависимости.
Если 'kerberos_service_name' фактически означает сервис принципала Kerberos, это должно быть что-то вроде«impala/[email protected]»с тем же Realm, на который ссылается в вашей ** krb5.conf ** и «_HOST», работая как шутник для реального хоста, к которому вы подключаетесь. –
И я сильно сомневаюсь, что Impala работает на вашем ПК, поэтому «localhost» - это шутка. –
Если вы столкнулись с аналогичной ошибкой из puresasl, вы должны установить пакет kerberos Python (https://github.com/thobbs/pure-sasl/issues/20). –