0

我进行了广泛的搜索,但没有什么对我有用。代码是这样的:

from impala.dbapi import connect
conn = connect(host = 'myhost', port = 21050, auth_mechanism = 'GSSAPI', kerberos_service_name = 'impala')

cursor = conn.cursor()

TTransportException: TTransportException(type=1, message="Could not start SASL: b'Error in sasl_client_start (-4) SASL(-4): no mechanism available: Unable to find a callback: 2'")

尝试了以下许多不同版本,但目前这里有任何可能的相关库:

蟒蛇 3.6.9

impyla 0.14.0

纯sasl 0.6.2

pysasl 0.5.0

萨斯勒 0.2.1

节俭 0.13.0

节俭-sasl 0.3.0

节俭 0.3.9

thriftpy2 0.4.8

任何帮助将不胜感激。

4

1 回答 1

0

我在 python 上尝试了多个库,但在尝试从 Windows 机器进行身份验证时失败了。没有简单的方法。Kerberos 库主要在 Linux 上运行。Windows 的解决方法不起作用。那么有什么办法可以解决这个问题。嗯……在罗马做个罗马人。尝试 Python 中的 Windows 本机库。

import sys
import clr
from System.Net.Http import *
myClienthandler = HttpClientHandler()
myClienthandler.UseDefaultCredentials = True
myClient = HttpClient(myClienthandler)
x = myClient.GetStringAsync("putyourURLwithinthequoteshere")
myresult = x.Result
print(myresult)

请注意,此 python 脚本必须由有权访问您尝试访问的 URL 的用户运行。通过在传递登录用户的 Kerberos 票证时设置UseDefaultCredentials属性。True

于 2020-07-17T09:58:12.823 回答