Я потратил много времени, пытаясь установить соединение с кераберизованным сервером impala через python. Это было возможно с Java JDBC. Я не думаю, что это проблема билета kereberos. Если я запускаю klist, я вижу свой билет без проблем.
Ticket cache: FILE:/tmp/krb5cc_4356
Default principal: xx@xx.xx.xx
Valid starting Expires Service principal
05/12/18 20:17:22 05/13/18 06:17:22 krbtgt/xx.xx.xx@xx.xx.xx
renew until 05/19/18 20:17:22
Я использую свой собственный файл krb5.config и, как я уже говорил, я могу использовать его с Java, поэтому я не вижу, в чем здесь проблема.
Моя строка подключения:
conn = connect(host='impala/_HOST@xx.xx.xx, port=21050, auth_mechanism='GSSAPI', user='xx', password='xx', database = 'xx', kerberos_service_name='impala')
У меня всегда одна и та же проблема:
File conexionsimple.py", line 18, in <module> protocol=None)
File dbapi.py", line 147, in connect auth_mechanism=auth_mechanism)
File hiveserver2.py", line 758, in connect transport.open()
File python2.7/site-packages/thrift_sasl/__init__.py", line 68, in open self._trans.open()
File /thrift/transport/TSocket.py", line 101, in open message=message)
thrift.transport.TTransport.TTransportException: Could not connect to impala/_HOST@xx.xx.xx:21050
версия:
python 2.7.14
thrift 0.9.3
thrift-sasl 0.3
sasl 0.2
impyla 0.14
Я пытался с другой версией Thrift (0.2.1), но у меня была та же ошибка.
Любое предложение?