python-无法连接到启用了tls1.2的hiveserver2

bjp0bcyl  于 2021-05-27  发布在  Hadoop
关注(0)|答案(1)|浏览(513)

我的hiveserver2支持ssl(仅支持最小tls1.2)和ldap,不支持kerberos。hive.server2.transport.mode=二进制。直线连接工作正常,如: beeline -u jdbc:hive2://domain:10000/default\;ssl=true\;sslTrustStore=/home/user/query.jks\;trustStorePassword=blah -n user -p pass -e "SELECT * FROM table LIMIT 3" 正如预期的那样,via beeline未传递正确的信任库详细信息或错误的ldap凭据意味着连接无法工作。
我想使用python库连接到hiveserver2(特别是tls1.2的配置单元设置)。
我看过几个库,比如impyla,pyhive,pyhs2,sqlalchemy,但是没有一个适合我。我看到其他人提出了几个问题:
https://community.cloudera.com/t5/batch-sql-apache-hive/impyla-tls-ssl-issues-with-newer-versions-of-ssl/td-p/65136
https://github.com/cloudera/impyla/issues/293
https://github.com/dropbox/pyhive/issues/203
https://github.com/cloudera/impyla/issues/240
https://github.com/dropbox/pyhive/issues/143
在没有tls1.2保护的hiveserver2示例的情况下联机连接的示例有很多。
>>>从impala.dbapi导入连接 conn=connect(host='domain',port=10000,use\u ssl=true,auth\u mechanism='ldap',user='user',password='pass',ca\u cert='/home/user/query.pem')traceback(最近一次调用):file“”,第1行,在文件“/usr/local/lib/python2.7/site packages/impala/dbapi.py”第147行,在connect-auth\u-mechanism=auth\u-mechanism)file“/usr/local/lib/python2.7/site-packages/impala/hiveserver2.py”第658行,在connect-transport.open()file“/usr/local/lib/python2.7/site-packages/thrift\sasl/init.py”第68行,在open self.\u-trans.open()file“/usr/local/lib64/python2.7/site-packages/thrift/transport/tsslsocket.py”第118,在open message=message)thrift.transport.tttransport.tttransportException:无法连接到domain:10000:[ssl:wrong\u version\u number]错误的版本号(\u ssl.c:726)

wbgh16ku

wbgh16ku1#

如果hiveserver2在启用ssl的情况下运行,那么impyla(0.13.8+)工作得很好。如果hiveserver2在禁用ssl的情况下运行,pyhive工作得很好。
有关依赖项、安装和示例的更多详细信息,请参见此页:
https://mr3docs.datamonad.com/docs/k8s/user/access-python/

相关问题