Dask 分布式无法找到凭据

Mat*_*nes 5 ubuntu amazon-s3 dask-distributed

我无法使用数据帧读取:df_read_csv 访问 S3 上的文件。我收到错误:Exception: Unable to locate credentials

当我的 dask 分布式针对本地工作核心运行时,这可以正常工作。但是,当我导入具有附加工作服务器集群的客户端时,它会失败。我的集群是在 ubuntu 上使用 dask-ec2 创建的,标头服务器上有 1 个调度程序,3 个工作服务器(全部为 ubuntu)。

我假设失败是因为所有工作人员都需要访问 S3。我已经在所有这些设备上安装了 aws cli,并使用我的密钥进行连接,并且可以从 cli 列出 S3 存储桶。但是,由于某种原因,我的数据帧读取抛出一个 ubuntu 错误,指出 boto 无法找到凭据

我浏览了各种帖子,但似乎找不到任何有帮助的东西。这是错误的屏幕截图:

错误

rpa*_*nai 3

嗨,马特,你应该添加keysecretstorage_options。就我而言,我将它们保存在 settings.py 中

import dask.dataframe as dd
import settings

df = dd.read_csv("s3://gra-dask-ec2/us_cities.csv",
                  storage_options={'key': settings.AWS_ACCESS_KEY_ID,
                                   'secret': settings.AWS_SECRET_ACCESS_KEY})
Run Code Online (Sandbox Code Playgroud)