连接到由SSLError引起的Hive返回(SSLError(1,' [SSL:UNKNOWN_PROTOCOL]未知协议(_ssl.c:777)

时间:2018-02-04 21:06:44

标签: python python-3.x ssl hive windows-server-2008

我有Windows 2008 Server R2和python 3.6。 试图将客户端写入DB Hive。 首先我写了

from pyhive import presto  # or import hive
cursor=presto.connect(host='namenode1', port=10000, username='tech_user', password='passsword1').cursor()
cursor.execute('select * from base1.change_cnt limit 10')
print(cursor.fetchone())
print(cursor.fetchall())

但是返回了错误

  File "C:\Software\Python36\lib\site-packages\pyhive\presto.py", line 131, in __init__
    raise ValueError("Protocol must be https when passing a password")
ValueError: Protocol must be https when passing a password

我尝试更改添加attr protocol =' https'

from pyhive import presto  # or import hive
cursor=presto.connect(host='namenode1', port=10000, protocol='https', username='tech_user', password='passsword1').cursor()
cursor.execute('select * from base1.change_cnt limit 10')
print(cursor.fetchone())
print(cursor.fetchall())

但是又返回了另一个错误

  File "C:\Software\Python36\lib\site-packages\requests\api.py", line 58, in request
    return session.request(method=method, url=url, **kwargs)
  File "C:\Software\Python36\lib\site-packages\requests\sessions.py", line 508, in request
    resp = self.send(prep, **send_kwargs)
  File "C:\Software\Python36\lib\site-packages\requests\sessions.py", line 618, in send
    r = adapter.send(request, **kwargs)
  File "C:\Software\Python36\lib\site-packages\requests\adapters.py", line 506, in send
    raise SSLError(e, request=request)
requests.exceptions.SSLError: HTTPSConnectionPool(host='namenode1', port=10000): Max retries exceeded with url: /v1/statement (Caused by SSLError(SSLError(1, '[SSL: UNKNOWN_PROTOCOL] unknown protocol (_ssl.c:777)'),))

如何解决这个问题?

0 个答案:

没有答案