如何使用Dask在yarn上运行并行化的python作业



我有几个关于将Dask与Hadoop/Yarn一起使用的问题。


1)如何将Dask连接到Hadoop/YARN并并行化作业
当我尝试使用时:

from dask.distributed import Client
client = Client('Mynamenode:50070') 

它导致错误:

CommClosedError:in:流关闭:尝试调用远程方法"identity"时

我应该传递名称节点的地址还是数据节点的地址?我可以推荐动物园管理员吗?


2)如何使用Dask和HDFS3从HDFS读取数据
当我尝试使用读取文件时

import dask.dataframe as dd
import distributed.hdfs
df = dd.read_csv('hdfs:///user/uname/dataset/temps.csv')

它会导致以下错误:

ImportError:没有名为lib 的模块

我已经尝试卸载并重新安装hdfs3,但错误仍然存在。

我安装了knit,并尝试使用以下示例启动纱线容器:

http://knit.readthedocs.io/en/latest/examples.html#ipython-平行

此操作失败,并出现安全错误。

我在集群上没有sudo访问权限,因此在集群中的每个节点上安装任何软件包都是不可能的,我只能通过我的userid下的condapip进行安装。


最后,如果有人能在Yarn上发布Dask的工作示例,那将非常有帮助

非常感谢您的帮助,

在yarn上最简单的dask实现看起来像下面的

  • 安装带有conda install knit -c conda-forge的针织(很快就会有"dask yarn"包,也许是一个更明显的名称)

关于如何创建dask集群的最简单示例可以在文档中找到。在这里,您创建了一个本地conda环境,将其上传到HDFS,并让YARN将其分发给工人,这样您就不需要sudo访问。

请注意,您可以传递许多参数,因此我们鼓励您阅读文档中的用法和疑难解答部分。

问题的具体答案

1)Client('Mynamenode:50070')-hadoop对dask一无所知,namenode服务器没有理由知道如何处理dask客户端连接

2)No module named lib-这很奇怪,可能是一个应该自己记录的错误。我鼓励您检查客户端和任何工作中是否有兼容版本的hdfs3(最好是最新的)

3)fails with a security error——这是相当模糊的,如果没有进一步的信息,我不能说更多。你启用了什么安全tdo,你看到了什么错误?可能您需要使用kerberos进行身份验证,但尚未运行kinit

相关内容

  • 没有找到相关文章

最新更新