楼主: pkx1208
1235 1

pyhive连接hive时出错 [推广有奖]

  • 3关注
  • 0粉丝

已卖:161份资源

硕士生

55%

还不是VIP/贵宾

-

威望
0
论坛币
511 个
通用积分
3.0609
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
8153 点
帖子
66
精华
0
在线时间
134 小时
注册时间
2015-1-23
最后登录
2025-12-15

楼主
pkx1208 发表于 2024-6-3 11:28:32 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
使用pyhive连接hive时,python报错信息,
raceback (most recent call last):
  File "/home/coco/.local/lib/python3.10/site-packages/thrift/transport/TSocket.py", line 150, in read
    buff = self.handle.recv(sz)
ConnectionResetError: [Errno 104] Connection reset by peer

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/coco/PycharmProjects/pythonProject/bdatat_processing/test.py", line 7, in <module>
    conn=hive.Connection(host=host,port=port,username=user,database='mum_baby')
  File "/home/coco/.local/lib/python3.10/site-packages/pyhive/hive.py", line 269, in __init__
    self._transport.open()
  File "/home/coco/.local/lib/python3.10/site-packages/thrift_sasl/__init__.py", line 93, in open
    status, payload = self._recv_sasl_message()
  File "/home/coco/.local/lib/python3.10/site-packages/thrift_sasl/__init__.py", line 112, in _recv_sasl_message
    header = self._trans_read_all(5)
  File "/home/coco/.local/lib/python3.10/site-packages/thrift_sasl/__init__.py", line 210, in _trans_read_all
    return read_all(sz)
  File "/home/coco/.local/lib/python3.10/site-packages/thrift/transport/TTransport.py", line 62, in readAll
    chunk = self.read(sz - have)
  File "/home/coco/.local/lib/python3.10/site-packages/thrift/transport/TSocket.py", line 164, in read
    raise TTransportException(message="unexpected exception", inner=e)
thrift.transport.TTransport.TTransportException: unexpected exception


在hive.log当中,报错信息为
2024-06-03T10:47:33,894 ERROR [HiveServer2-Handler-Pool: Thread-42] server.TThreadPoolServer: Thrift error occurred during processing of message.
org.apache.thrift.protocol.TProtocolException: Missing version in readMessageBegin, old client?
        at org.apache.thrift.protocol.TBinaryProtocol.readMessageBegin(TBinaryProtocol.java:228) ~[hive-exec-3.1.3.jar:3.1.3]
        at org.apache.thrift.TBaseProcessor.process(TBaseProcessor.java:27) ~[hive-exec-3.1.3.jar:3.1.3]
        at org.apache.hive.service.auth.TSetIpAddressProcessor.process(TSetIpAddressProcessor.java:56) ~[hive-service-3.1.3.jar:3.1.3]
        at org.apache.thrift.server.TThreadPoolServer$WorkerProcess.run(TThreadPoolServer.java:286) ~[hive-exec-3.1.3.jar:3.1.3]
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) ~[?:1.8.0_351]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) ~[?:1.8.0_351]
        at java.lang.Thread.run(Thread.java:750) [?:1.8.0_351]



不知道要怎么解决
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:Hive HIV connection Processing Unexpected

沙发
赵安豆 发表于 2024-7-14 12:04:55
在使用 PyHive 连接 Hive 时遇到 `ConnectionResetError` 错误,通常意味着与 HiveServer2 的连接被远程主机突然关闭了。这可能是由多种原因造成的:

1. **端口或服务未开启**:确认 HiveServer2 是否正在运行,并且监听指定的端口。

2. **防火墙设置**:检查服务器上的防火墙规则,确保它允许从你的客户端 IP 地址和端口进行连接。

3. **网络问题**:可能是由于网络不稳定导致的连接中断。尝试重启网络或检查网络配置。

4. **权限问题**:你提供的用户名可能没有足够的权限访问 HiveServer2 或者认证失败。

5. **HiveServer2 的配置**:确认你的 `hive-site.xml` 文件中的配置正确,特别是 `hive.server2.thrift.bind.host` 和 `hive.server2.thrift.port` 参数。

6. **并发连接限制**:如果有很多客户端同时尝试连接到 HiveServer2,可能会达到最大连接数的限制。

为了解决这个问题,请按照以下步骤进行检查:

- 验证 HiveServer2 的状态和服务端口是否开启。
- 检查防火墙和网络设置,确保没有阻止或限制来自你的客户端 IP 地址的连接请求。
- 确认你使用了正确的用户名,并且该用户具有访问 Hive 的权限。
- 审核 `hive-site.xml` 文件中的配置参数,特别是关于绑定主机和端口的信息。
- 如果有多个客户端同时连接,检查并可能需要增加 HiveServer2 上的最大并发连接数。

如果上述建议无法解决问题,你可以尝试重启 HiveServer2 服务或相关网络组件,并再次进行测试。

此文本由CAIE学术大模型生成,添加下方二维码,优先体验功能试用



您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-22 13:51