dagster教程中通过CLI执行任务触发DagsterUnmetExecutorRequirementsError问题
报错原因
dagit和Python API运行任务时,默认使用单进程执行器,不需要持久化的Dagster实例,仅用临时生成的临时实例即可正常运行。而dagster job execute CLI命令默认调用多进程执行器,多进程执行时需要跨进程协调运行状态,必须依赖非临时的持久化Dagster实例存储元数据,你当前没有配置$DAGSTER_HOME的情况下无法生成持久化实例,因此触发报错,不属于其他配置错误。
解决方法
有两种可选方案:
- 方案1:临时指定单进程执行器(无需配置环境变量)
执行命令时添加执行器参数即可,修改后的命令为:dagster job execute -f hello_cereal.py --executor in_process - 方案2:配置持久化Dagster实例(适合长期使用)
- 先创建dagster的默认存储目录:
mkdir ~/.dagster- 将
$DAGSTER_HOME环境变量写入终端配置文件:
如果你使用zsh终端,执行:
如果你使用bash终端,执行:echo 'export DAGSTER_HOME=~/.dagster' >> ~/.zshrc source ~/.zshrc
配置完成后再次执行原CLI命令即可正常运行,该方案还可以保留所有任务的历史运行记录,方便后续排查问题。echo 'export DAGSTER_HOME=~/.dagster' >> ~/.bash_profile source ~/.bash_profile
内容的提问来源于stack exchange,提问作者alxthm
相关产品推荐
相关产品推荐

