【问题标题】:Issues Connecting to Impala Kerberos Hadoop - Windows/Python 3.6连接到 Impala Kerberos Hadoop 的问题 - Windows/Python 3.6
【发布时间】:2019-11-20 19:20:57
【问题描述】:

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

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'")

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

Python 3.6.9

impyla 0.14.0

纯sasl 0.6.2

pysasl 0.5.0

sasl 0.2.1

节俭 0.13.0

thrift-sasl 0.3.0

thriftpy 0.3.9

thriftpy2 0.4.8

任何帮助将不胜感激。

【问题讨论】:

    标签: python-3.x kerberos impala sasl impyla


    【解决方案1】:

    我在 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 的用户运行。通过将UseDefaultCredentials 属性设置为True,您将传递已登录用户的Kerberos 票证。

    【讨论】:

      猜你喜欢
      • 2018-10-22
      • 2021-05-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多