【问题标题】:Using plugin in Google Composer make it crash在 Google Composer 中使用插件使其崩溃
【发布时间】:2018-06-26 13:54:22
【问题描述】:

我为 Apache Airflow 编写了一个小插件,它在我的本地部署中运行良好。但是,当我使用 Google Composer 时,用户界面会挂起并且没有响应。有没有办法在 Google Composer 中重新启动网络服务器

【问题讨论】:

  • 我说了什么值得反对?真的吗?
  • 您能描述一下您创建的插件的作用并将相关代码添加到您的问题中吗?您还可以添加您尝试过的/已经搜索过的内容吗?您可能会发现 SO Asking 指南也有助于为问题添加更多细节。我正在研究重启位。
  • 我在下面添加了一个可能有帮助的初步答案。让我知道它是否适合您/不适合您,我很乐意编辑。
  • @TaylorEdmiston 我的插件是来自当前主分支的数据流运行器的反向移植,因为 1.9.0 中的版本根本无法在我的环境中运行。不得不说,我也解决了master分支的一些bug,但是我还没有机会创建ticket并将pull请求推送到github。

标签: google-cloud-platform airflow


【解决方案1】:

(注意:这个答案目前比最终确定的更具暗示性。)

就重启网络服务器而言......

什么不起作用:

  • 我查看了文档中的Airflow Web Interface,该文档描述了使用网络服务器但未从 CLI 访问它或重新启动。
  • 虽然您也可以在 Composer 上 run Airflow CLI commands,但我今天在 Airflow CLI 中没有看到重启网络服务器的命令。
  • 我检查了 Google Cloud SDK 中的 gcloud CLI,但没有找到与重启相关的命令。 以下是一些可能适用于在 Composer 上重新启动 Airflow 网络服务器的想法:

    1. 在 gcloud CLI 中,有一个 update command 用于更改环境属性。我假设在您更改其中一个以应用新设置后,它会重新启动调度程序和网络服务器(在新容器中)。您可以设置任意环境变量进行检查,但只运行更新命令而不做任何更改可能会起作用。

      gcloud beta composer 环境更新 ...

    2. 或者,您可以update environment properties 在 GCP 控制台中排除环境变量。

    3. 我认为重新运行 import plugins 命令也会导致调度程序/网络服务器重新启动。

      gcloud beta composer 环境存储插件导入 ...

在更高级的设置中,Composer 支持deploying a self-managed Airflow web server。按照链接的指南,您可以:连接到 Composer 实例的 GKE 集群,为网络服务器创建部署和服务 Kubernetes 配置文件,并使用 kubectl create 进行部署。然后你可以在 pod 上运行 kubectl replacekubectl delete 来触发新的开始。

这一切都感觉有点多,所以希望出现文档或实现网络服务器重启的更简单方法来成功解决这些变通办法。

【讨论】:

  • 谢谢,这是一个很棒的答案。我目前使用 Cloud SQL 托管的 mysql 实例手动将 Airflow 1.9.0 安装到 Compute Engine 实例中,我现在可以顺利运行我的管道。我确实尝试了更新命令,但我没有运气。安装一个自我管理的气流网络服务器似乎是一项艰巨的任务,几乎就像管理我自己的安装一样。
猜你喜欢
  • 2011-10-29
  • 2020-10-21
  • 2021-07-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-09-23
  • 2012-07-12
相关资源
最近更新 更多