gpt4 book ai didi

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

转载 作者:可可西里 更新时间:2023-11-01 14:56:02 32 4
gpt4 key购买 nike

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


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

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

它导致错误:

CommClosedError: in : Stream is closed: while trying to call remote method 'identity'

我应该传递名称节点或数据节点的地址吗?我可以改用 Zookeeper 吗?


2 ) 如何使用 Dask 和 HDFS3 从 HDFS 读取数据?
当我尝试使用以下方式读取文件时:

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

它会导致以下错误:

ImportError: No module named lib

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

我已经安装了 knit 并尝试使用此示例启动 yarn 容器:

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

这会因安全错误而失败。

我在集群上没有 sudo 访问权限,所以在集群中的每个节点上安装任何包都是不可能的,我唯一能做的安装是通过 condapip 在我的 userid 下。


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

非常感谢任何帮助,

最佳答案

dask-on-yarn 的最简单实现如下所示

  • 使用 conda install knit -c conda-forge 安装 knit(“dask-yarn”包很快就会可用,也许是一个更明显的名字)

如何创建 dask 集群的最简单示例可以在 the documentation 中找到.在这里,您创建一个本地 conda 环境,将其上传到 HDFS 并让 YARN 将其分发给工作人员,因此您不需要 sudo 访问权限。

请注意,您可以传递很多参数,因此我们鼓励您阅读文档的使用和故障排除部分。

问题的具体答案

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

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

3) 因安全错误而失败 - 这是相当模糊的,没有更多信息我不能说更多。您启用了什么安全措施,您看到什么错误?可能是您需要使用 kerberos 进行身份验证但尚未运行 kinit

关于hadoop - 如何使用 Dask 在 yarn 上运行并行化的 python 作业?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46942887/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com