ConnectionError(MaxRetryError(" HTTPConnectionPool使用pywebhdfs超出最大重试次数)

时间:2016-03-04 09:58:47

标签: hadoop webhdfs pyhdfs-client

您好我正在使用pywebhdfs python lib。我通过调用并尝试在HDFS上创建文件来连接EMR。我正在低于异常,这似乎与我正在执行的内容无关,因为我没有达到任何连接限制。 是因为webhdfs如何工作

from pywebhdfs.webhdfs import PyWebHdfsClient
hdfs = PyWebHdfsClient(host='myhost',port='50070', user_name='hadoop')
my_data = '01010101010101010101010101010101'
my_file = 'user/hadoop/data/myfile.txt'
hdfs.create_file(my_file, my_data)

requests.exceptions.ConnectionError:HTTPConnectionPool(host =' masterDNS',port = 50070):使用url超出了最大重试次数:/webhdfs/v1/user/hadoop/data/myfile.txt?op= CREATE& user.name = hadoop(由NewConnectionError引起(':无法建立新连接:[Errno 115]正在进行的操作',))

4 个答案:

答案 0 :(得分:0)

我也有这个问题。我发现由于某种原因呼吁:

发送(self,request,stream = False,timeout = None,verify = True,cert = None,proxies = None):

超时为0,导致发送抛出

<强> MaxRetryError

底线,我发现如果你设置超时= 1,它可以正常工作:

hdfs = PyWebHdfsClient(host ='yourhost',port ='50070',user_name ='hdfs',timeout = 1)

希望这也适合你。

答案 1 :(得分:0)

格式化namenode多次为我解决了这个问题。

hdfs namenode -format

答案 2 :(得分:0)

请检查您的连接状态。运行以下命令以查看webhdfs端口是否可在您的主机上正常工作:

netstat -an | grep 50070 | grep LIST

请注意:

  • 如果启用了SSL,则端口将为50470。
  • hdfs namenode -format不应从该节点运行,因为它会格式化您的namenode并失去所有内容。

答案 3 :(得分:-1)

也许,webhdfs服务未在您指定的主机上运行。您可以检查您的群集以查看正在运行webhdfs服务的主机。