我在 EMR 上使用 dask-yarn 和 dask 网站上提供的脚本部署了 dask。
我尝试一个简单的read
,并在 s3 中为 avro 文件take
,但我得到了KillerWorker
异常,没有明确的错误原因。
from dask_yarn import YarnCluster
cluster = YarnCluster(environment='environment.tar.gz',
worker_vcores=2,
worker_memory='4GB',
n_workers=4)
from dask.distributed import Client
from dask import bag as db
client = Client(cluster)
av = db.read_avro('s3://path/to/fil.avro')
av.take(1)
例外:
KilledWorker: ("('bag-from-delayed-read-avro-take-57f2529def40184e19b004eb8d459535', 0)", <Worker 'tcp://172.31.125.168:38215', memory: 0, processing: 1>)
当您的工人反复意外死亡时,会出现KilledWorker
错误。 我鼓励您使用yarn
API 来检查工作人员的日志。 这通常是由配置错误的软件环境引起的,但可能是很多原因。 希望这些日志有助于为您指明富有成效的方向。