基于kerberos的hdfs上传出现了问题

问题描述

我连接到群集以通过Python上传文件。它以大约36 MB的文件成功。但是,当我上传的文件夹超过100GB时,失败了。

任何建议。

解决方法

50070是NameNode上HTTP(无SSL)上的WebHDFS的默认端口。因此,即使您不了解它是什么,我都认为您笨拙的Python连接器使用WebHDFS。

对于上传,NameNode会收到HTTP POST请求,但会立即重定向(即 HTTP 307 代码)到其DataNode之一。

理想情况下,您的HTTP客户端会尝试创建一个空文件,然后捕获重定向,然后在适当的目标上启动实际的上传。

看起来您笨拙的Python连接器无法做到这一点。它尝试将整个文件上载到NN(忽略数据),然后发现它必须重定向,然后再次将整个文件上载到正确的服务器。
如果您要传递某种代理或负载平衡器,则在第一次上载尝试时,您的连接可能会崩溃(我发现这种情况发生时只有400KB)。

解决方案:找到适合HDFS的Python连接器;或自行修复当前使用的笨拙连接器的源代码。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...