启动脚本没有 运行 Airflow 网络服务器 VM GCP
Startup script doesn't run Airflow webserver VM GCP
我正在尝试使用启动脚本在启动时自动 运行 VM 中的 airflow 网络服务器和调度程序,只是遵循此处的文档:https://cloud.google.com/compute/docs/instances/startup-scripts/linux。这是我的脚本:
export AIRFLOW_HOME=/home/name/airflow
cd /home/name/airflow
nohup airflow scheduler >> scheduler.log &
nohup airflow webserver -p 8080 >> webserver.log &
.log 文件已创建,这意味着脚本已执行但网络服务器和调度程序未执行。
有什么明显的原因吗?
我尝试使用 document.
在 GCP VM 上复制 Airflow 网络服务器启动脚本
运行 GCP VM 上的 Airflow 网络服务器启动脚本所遵循的步骤:
创建一个服务帐户。以 BigQuery Job User 角色授予对 BigQuery 的最低访问权限,以 Dataflow Worker 角色授予对 Dataflow 的最低访问权限。单击添加 Key/Create 新 key/Done。这将下载一个 JSON 文件。
创建一个计算引擎实例。 Select 创建的服务帐户。
安装 Airflow 库。使用miniconda创建虚拟环境。
初始化您的元数据数据库并使用以下命令注册至少一个管理员用户:
airflow db init
airflow users create -r Admin -u username -p mypassword -e example@mail.com -f yourname -l lastname
端口 8080 的白名单 IP。创建防火墙规则并在 GCP VM 实例上添加防火墙规则。现在转到终端并使用命令启动 Web 服务器
airflow webserver -p 8080.
打开另一个终端并启动调度程序。
export AIRFLOW_HOME=/home/acachuan/airflow-medium
cd airflow-medium
conda activate airflow-medium
airflow db init
airflow scheduler
我们希望 Airflow 在 Compute Engine 启动后立即启动。所以我们可以创建一个Cloud Storage bucket,然后创建一个脚本,上传文件作为备份。
现在将 Linux 启动脚本从 Cloud Storage 传递到 VM。参考 Passing a startup script that is stored in Cloud Storage to an existing VM。您还可以将启动脚本传递给现有 VM。
注意: PermissionDenied desc = The caller does not have permission means you don't have sufficient permissions, you need to request access from your project, folder, or organization admin.取决于您尝试导出的资产。要访问由 root 用户创建的文件,您需要读取、写入或执行权限。参考 File permissions.
我正在尝试使用启动脚本在启动时自动 运行 VM 中的 airflow 网络服务器和调度程序,只是遵循此处的文档:https://cloud.google.com/compute/docs/instances/startup-scripts/linux。这是我的脚本:
export AIRFLOW_HOME=/home/name/airflow
cd /home/name/airflow
nohup airflow scheduler >> scheduler.log &
nohup airflow webserver -p 8080 >> webserver.log &
.log 文件已创建,这意味着脚本已执行但网络服务器和调度程序未执行。
有什么明显的原因吗?
我尝试使用 document.
在 GCP VM 上复制 Airflow 网络服务器启动脚本运行 GCP VM 上的 Airflow 网络服务器启动脚本所遵循的步骤:
创建一个服务帐户。以 BigQuery Job User 角色授予对 BigQuery 的最低访问权限,以 Dataflow Worker 角色授予对 Dataflow 的最低访问权限。单击添加 Key/Create 新 key/Done。这将下载一个 JSON 文件。
创建一个计算引擎实例。 Select 创建的服务帐户。
安装 Airflow 库。使用miniconda创建虚拟环境。
初始化您的元数据数据库并使用以下命令注册至少一个管理员用户:
airflow db init airflow users create -r Admin -u username -p mypassword -e example@mail.com -f yourname -l lastname
端口 8080 的白名单 IP。创建防火墙规则并在 GCP VM 实例上添加防火墙规则。现在转到终端并使用命令启动 Web 服务器 airflow webserver -p 8080.
打开另一个终端并启动调度程序。
export AIRFLOW_HOME=/home/acachuan/airflow-medium cd airflow-medium conda activate airflow-medium airflow db init airflow scheduler
我们希望 Airflow 在 Compute Engine 启动后立即启动。所以我们可以创建一个Cloud Storage bucket,然后创建一个脚本,上传文件作为备份。
现在将 Linux 启动脚本从 Cloud Storage 传递到 VM。参考 Passing a startup script that is stored in Cloud Storage to an existing VM。您还可以将启动脚本传递给现有 VM。
注意: PermissionDenied desc = The caller does not have permission means you don't have sufficient permissions, you need to request access from your project, folder, or organization admin.取决于您尝试导出的资产。要访问由 root 用户创建的文件,您需要读取、写入或执行权限。参考 File permissions.