ubuntu - Dask 分布式无法找到凭据

标签 ubuntu amazon-s3 dask-distributed

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

当我的 dask distributed 针对本地 worker cores 运行时,这工作正常。但是,当我导入一个带有额外工作服务器集群的客户端时,它失败了。我的集群是在 ubuntu 上使用 dask-ec2 创建的,在 header 服务器上有 1 个调度程序和 3 个工作服务器(都是 ubuntu)。

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

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

Error

最佳答案

你好 Matt,你应该将 keysecret 添加到 storage_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})

关于ubuntu - Dask 分布式无法找到凭据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45586273/

相关文章:

ubuntu - 如何在 ubuntu 12.04 上安装 libmysqld-dev?

python - 构建 docker 镜像时出错

hadoop - 如何在 Hadoop 中创建从 1..N 开始的迭代器?

python - 任务之间保存的 dask-worker 内存

python - 使用 Dask 进行大规模并行搜索操作,分布式

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

ubuntu - 如何解决 $DAEMON -t $DAEMON_OPT 权限被拒绝?

amazon-web-services - 无法访问S3存储桶内容: Access denied

python - 将 Pandas DataFrame 作为 Pickle 写入 S3

ruby-on-rails - Rails 生产 : Premature end of script headers