问题标签 [google-cloud-composer]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
3117 浏览

google-cloud-platform - 从 Google Cloud Composer 运行 docker 运算符

至于文档,Google Cloud Composer 气流工作节点由专用的 kubernetes 集群提供服务:

在此处输入图像描述

我有一个包含 Docker 的 ETL 步骤,我想使用气流运行,最好在托管工人的同一个 Kubernetes 上或在专用集群上。

Docker Operation从 Cloud Composer 气流环境开始的最佳实践是什么?

务实的解决方案是❤️

0 投票
1 回答
2067 浏览

python - DAG 在 Google Cloud Composer 网络服务器上不可点击,但在本地 Airflow 上运行良好

我正在使用带有图像版本和 Python 2.7 的Google Cloud Composercomposer-0.5.3-airflow-1.9.0 (Google Cloud Platform 上的托管 Airflow) ,我遇到了一个奇怪的问题:导入我的 DAG 后,它们无法从 Web UI 中点击(并且没有按钮“Trigger DAG”,“Graph view”,...),而在运行本地 Airflow 时,所有这些都可以完美运行。

即使 Composer 上的网络服务器无法使用,我的 DAG 仍然存在。我可以使用 CLI ( list_dags) 列出它们、描述它们 ( list_tasks) 甚至触发它们 ( trigger_dag)。

重现问题的最小示例

我用来重现该问题的最小示例如下所示。使用钩子(这里GoogleCloudStorageHook是 )非常重要,因为 Composer 上的错误发生在使用钩子时。最初,我使用的是自定义钩子(在自定义插件中),并且面临同样的问题。

基本上在这里,该示例列出了 GCS 存储桶 ( my-bucket) 中的所有条目,并为每个以 开头的条目生成一个 DAG my_dag

Cloud Composer 上的结果

将此文件导入 Composer 后,结果如下(我有 4 个以 in 开头的文件my_dagmy-bucket

Google Cloud Composer 上的 DAG

正如我所解释的,DAG 不可点击,“Recent Tasks”和“DAG Runs”列将永远加载。每个 DAG 名称旁边的“信息”标记显示:This DAG isn't available in the webserver DagBag object. It shows up in this list because the scheduler marked it as active in the metadata database

当然刷新是没有用的,直接URL( https://****.appspot.com/admin/airflow/graph?dag_id=my_dag_1)访问DAG Graph View的时候报错:DAG "my_dag_1" seems to be missing.

本地气流的结果

在本地 Airflow 上导入脚本时,网络服务器工作正常:

本地气流上的 DAG

一些测试

如果我entries = gcs_conn.list(bucket, prefix=prefix)用硬编码值替换该行entries = [u'my_dag_1', u'my_dag_2', u'my_dag_3', u'my_dag_4'],那么 DAG 在 Composer Web UI 上是可点击的(并且“链接”列上的所有按钮都会出现)。看来,从我对最初问题所做的其他测试来看,从钩子调用方法(不仅仅是初始化钩子)会导致问题。当然,Composer 中的 DAG 在简单示例上正常工作(不涉及挂钩方法调用)。

我不知道为什么会这样,我也检查了日志(通过设置logging_level = DEBUGairflow.cfg但看不出有什么问题。我怀疑网络服务器中存在错误,但我无法获得重要的堆栈跟踪。来自 Composer(托管在 App Engine 上)的网络服务器日志不可用,或者至少我没有找到访问它们的方法。

是否有人在使用 Composer Web UI 时遇到过相同或类似的问题?我认为问题出在钩子的使用上,但我可能错了。这可能只是一个副作用。老实说,在测试了这么多东西后,我迷失了。如果有人可以帮助我,我会很高兴。谢谢!

更新

按照本指南在 Kubernetes 上部署自我管理的网络服务器时:https ://cloud.google.com/composer/docs/how-to/managing/deploy-webserver ,我的 DAG 可以从这个自我管理的网络服务器中点击。

0 投票
1 回答
171 浏览

google-cloud-platform - 云作曲家不稳定的用户界面

Airflow UI 随机无法显示,并显示 503 google 错误消息。浏览 Airflow UI 变得非常困难和烦人。这是一个已知的问题?在网上搜索了很长时间后,我没有得到任何线索。

如果我做错了什么,请告诉我。

我附上了我随机收到的错误消息。希望这得到修复。错误信息

0 投票
1 回答
2116 浏览

google-kubernetes-engine - Cloud Composer 将结构化日志记录到 Stackdriver

我想知道将结构化日志记录发送到 Stackdriver 的合适方法对于 Cloud Composer 部署是什么。我已经查看了用于 python 调用插件或 DAG 的google-cloud-logging模块,但看起来这适用于尚未部署日志记录的项目。

我已按照本指南将我的记录器的输出修改为 stdin / stderr 为 json 格式,输出类似于:{"message": "test error", "severity": "ERROR"}

但是,在检查 Stackdriver 日志时,它不会被解析为 JSON,而是按原样放置在消息正文中。

下面是它在 Stackdriver UI 中的样子(我用泛型替换了敏感信息。消息字符串中 json 后面的新行是它在 Stackdriver 控制台中的样子)。

有没有人使用上述或其他方法成功地将结构化日志从 Composer 发送到 Stackdriver?

0 投票
3 回答
7788 浏览

python - 如何在 Google Composer 上重新启动气流服务器?

当我需要在本地重新启动网络服务器时,我会这样做:

如何在 Google Composer 上执行此操作?我在控制台中看不到重新启动服务器的选项。

0 投票
1 回答
1158 浏览

airflow - 等待触发的 DAG

我有一个控制 dag,它触发了另外两个 dag。这两个 dag 应该顺序运行,而不是并行运行。我尝试解决这样的问题:

我的问题是触发的 DAG 确实有一个特定的execution_date(具体到秒,而不是 00:00 的分钟和秒)。DagSensor 现在使用execution_time控制 dag 的 来戳从属 dag,因此传感器永远不会被触发,因为从属 dag 具有不同的execution_time.

我的问题:

  1. Trigger->Sensor->Trigger->Sensor模式是顺序触发 DAG 的正确方法吗?
  2. 如果是:我如何获得

    a)execution_date由控制器 DAG 触发后的依赖 DAG 中的任何一个(然后可以作为参数传递给传感器)

    或者

    b)execution_date依赖 DAG 与控制 DAG 相同

如果可能,我不想查询元数据数据库以获取依赖 DAG 运行的 execution_time。

0 投票
1 回答
92 浏览

google-cloud-platform - 寻找有关云作曲家稳定版本的信息?

目前 Cloud Composer 处于 Beta 版本,我们希望在我们的生产环境中使用它。有关其稳定发布时间表的任何信息以及何时提供全面支持?

0 投票
1 回答
96 浏览

google-cloud-composer - cloud composer spark提交现有Hadoop集群

几天前我正在尝试使用云作曲家但是,我有一个任务是使用纱线模式将火花提交到我们现有的 Hadoop 集群

云作曲家可以使用吗?

0 投票
1 回答
957 浏览

google-cloud-composer - 云作曲家构建日志,它们在哪里?

我正在尝试按照本指南在云作曲家上安装 pypi 依赖项。

构建失败,错误消息显示:

但是,我找不到构建日志的位置。有人知道答案吗?谢谢

仅供参考,这是我要安装的软件包列表(作为requirements.txt文件):

编辑

这是来自 Cloud Composer 的实际错误消息:

0 投票
1 回答
1047 浏览

google-cloud-composer - Google Composer:找不到 dag_id

我动态地创建了一个 dag 集合(对所有人使用相同的 .py)。还有一个build-DAG我无法运行:

对于这个 dag,我可以看到以前的日志、代码和 UI 中的所有内容,但我无法运行它。知道如何调试吗?重新启动作曲家实例可能有用吗?

动态创建的其余 dag 工作正常。

我正在使用与此类似的东西来创建 dag: https ://gist.github.com/tmarthal/edaeae7f6f8780dc53887a16b7b20f205

谢谢指教。教育

更新:我正在使用 composer-0.5.1-airflow-1.9.0

2018 年 8 月 2 日更新:我迁移到 composer-1.0.0-airflow-1.9.0 并且仍然发生