gpt4 book ai didi

airflow - 没有这样的文件或目录/airflow/xcom/return.json

转载 作者:行者123 更新时间:2023-12-04 17:39:21 29 4
gpt4 key购买 nike

创建了一个图像包含 /airflow/xcom/return.json在所有子目录上使用 chmod +x由于日志显示找不到文件或目录(已尝试 chmod +x)

strtpodbefore = KubernetesPodOperator(namespace='rguonew',
image="mydockerimage",
name="fail",
image_pull_policy="Always",
task_id="failing-task",
get_logs= True,
xcom_push=True,
dag=dag
)'

这是日志

[2019-03-18 20:32:07,007] {logging_mixin.py:95} INFO - [2019-03-18 
20:32:07,007] {pod_launcher.py:166} INFO - Running command... cat
/airflow/xcom/return.json
[2019-03-18 20:32:07,007] {logging_mixin.py:95} INFO -
[2019-03-18 20:32:07,026] {logging_mixin.py:95} INFO - [2019-03-18
20:32:07,026] {pod_launcher.py:173} INFO - cat: can't open
'/airflow/xcom/return.json': No such file or directory
[2019-03-18 20:32:07,026] {logging_mixin.py:95} INFO -
[2019-03-18 20:32:07,026] {logging_mixin.py:95} INFO - [2019-03-18
20:32:07,026] {pod_launcher.py:166} INFO - Running command... kill -s
SIGINT 1
[2019-03-18 20:32:07,026] {logging_mixin.py:95} INFO -
[2019-03-18 20:32:07,067] {models.py:1788} ERROR - Pod Launching
failed: Failed to extract xcom from pod: fail-e18e3dac

所以尝试使用这种方式它有效,但这意味着它从外部而不是从图像分配 xcom json

 return_value = '{"foo": "bar"\n, "buzz": 2}'
strtpodbefore = KubernetesPodOperator(namespace='rguonew',
image="python:3.6.6-stretch",
cmds=["bash", "-cx"],
name="fail",
task_id="failing-task",
arguments=['echo \'{}\' >
/airflow/xcom/return.json'.format(return_value)],
get_logs= True,
xcom_push=True,
dag=dag
)

所以我尝试了最后的解决方案,做了一个额外的参数,但仍然没有用,第一个命令没有得到这样的目录返回

strtpodbefore = KubernetesPodOperator(namespace='rguonew',
image="myimages",
name="fail",
image_pull_policy="Always",
cmds=["bash", "-cx"],
arguments=['echo \'{}\' >
/airflow/xcom/return.json'.format(return_value)],
task_id="failing-task",
get_logs= True,
xcom_push=True,
dag=dag
)

最佳答案

当您设置 xcom_push=True 时,一个边车容器将与您的执行器容器一起创建。 sidecar 容器将读取执行程序的 /airflow/xcom/return.json,因此您实际上需要像在第二个示例中所做的那样从执行程序容器写入它。

看这里: https://stackoverflow.com/a/53568710/10675601

我们在做pod xcom的时候,也有一些RBAC相关的问题需要设置: Airflow k8s operator xcom - Handshake status 403 Forbidden

关于airflow - 没有这样的文件或目录/airflow/xcom/return.json,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55230150/

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