如何解决修改 Airflow Composer 上 bash 文件的权限
我们在 Google Cloud Composer 上运行 Airflow。
我有一个 bash 脚本正在我的 DAG 的 BashOperator 中调用:
split_files = BashOperator(
task_id='split_gcp_files',bash_command='/home/airflow/gcs/dags/file_splitter.sh ',xcom_push=True,depends_on_past=True,dag=dag
)
然而,当我运行它时,我收到以下错误:
[2021-06-17 18:24:13,330] {bash_operator.py:137} INFO - Temporary script location: /tmp/airflowtmp8dsdf38/split_gcp_filesah83sdf
[2021-06-17 18:24:13,330] {bash_operator.py:147} INFO - Running command: /home/airflow/gcs/dags/file_splitter.sh
[2021-06-17 18:24:13,472] {bash_operator.py:154} INFO - Output:
[2021-06-17 18:24:13,475] {bash_operator.py:158} INFO - /tmp/airflowtmp8dsdf38/split_gcp_filesoofibpg7: line 1: /home/airflow/gcs/dags/file_splitter.sh: Permission denied
file_splitter.sh 已复制到 GCS 存储桶,但我不确定该文件位于何处以便 Airflow 修改权限?例如。我在哪里可以找到“/home/airflow/gcs/dags/”?
我已尝试通过 SSH 连接到 Kubernetes 节点,但找不到该路径,或者我可能没有权限?
解决方法
将 bash 命令更改为此有效,有什么想法吗?:
bash_command='bash /home/airflow/gcs/dags/file_splitter.sh '
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。