当前位置: 首页 > 知识库问答 >
问题:

光束管道在谷歌数据流中不移动,而在直接转轮上运行正常

越运锋
2023-03-14

我有一个梁管道运行良好的地方与DirectRunner。但是,当切换到DataFlowRunner时,作业开始了,我可以从Google DataflowWeb ui中看到流程图。但是,作业不会运行。它一直挂在那里,直到我停止工作。我使用的是光束2.10。我可以看到自动缩放调整cpu,在日志中没有异常。

我认为这与我创建Jar文件的方式有关。我在gradle构建中使用影子Jar创建jar文件。使用ShadowJar的主要原因是合并ServiceFiles()。如果不使用mergeServiceFiles(),作业将运行异常,如为gs找到No FileSystem。

所以我从google数据流模板repo复制了单词计数,并将其打包为jar文件。它显示了同样的情况,作业开始了,但没有移动。该代码已与服务帐户凭据的最小更改相接触。我扩展了凭证的GcsOptions,而不是它原来的管道选项。

试过2.12,2.10。

共有1个答案

薛望
2023-03-14

通过单击所示原木右上角的stackdrive,四处挖掘并找到完整的原木。发现如下

引起:java.lang.IllegalStateExcture:检测到类路径上的log4j-over-slf4j.jar和绑定slf4j-log4j12.jar,抢占StackOverflow Error。参见http://www.slf4j.org/codes.html#log4jDelegationLooporg.slf4j.impl.Log4jLoggerFactory。

然后有一个java失败,退出状态1日志条目在log4j错误下只有几行。基本上java程序已经停止,但是数据流UI仍然显示它在流程图上运行。

使用gradle构建脚本将所有slf4j-log4j12从编译器中排除('org.apache.hadoop: hadopop-maplowe-client-core: 3.2.0'){排除组:'org.slf4j',模块:'slf4j-log4j12'}

和其他依赖项包含slf4j-log4j12和作业开始移动。

 类似资料:
  • 我们的Google Cloud数据流管道程序调用了一些动态链接到*的库。所以要运行它,我需要设置linux环境变量LD_LIBRARY_PATH。有一种方法可以做到这一点:https://groups.google.com/forum/#!主题/综合。java。程序员/LOu18 OWAVM,但我想知道是否有一种方法可以在执行管道之前使用一些运行shell脚本的作业来实现这一点?

  • 这个python脚本的目的是从google analytics中提取数据,并将其添加到google MySQL数据库中。该脚本在我的本地机器上工作,但在google函数上不行: 当我运行上面的代码时,我得到了这些错误: 错误消息 我想这可能是因为谷歌机器的IP地址没有被列入我的SQL数据库的白名单。我尝试添加一个带有外部IP地址的云NAT,以便将其列入白名单。那没用。下面是一篇文章的链接,该文章有

  • 我正在运行数据流作业从气流。我需要说我是气流的新手。数据流(从气流运行)正在成功运行,但我可以看到气流在获得工作状态时遇到了一些问题,我收到了无限的消息,比如: 谷歌云数据流作业尚不可用。。 以下是将所有步骤添加到数据流后的日志(我将{project ectID}和{jobID}放在它所在的位置): 你知道这是什么原因吗?我找不到与此问题相关的任何解决方案。我应该提供更多信息吗? 这是我在DAG中

  • 我想在谷歌数据流上运行一个管道,该管道取决于另一个管道的输出。现在,我正在本地使用DirectRunner依次运行两条管道: 我的问题如下: DataflowRunner是否保证第二个仅在第一个管道完成后启动

  • 问题内容: 是否可以在管道常规脚本中直接调用PowerShell命令?在Jenkins中使用自定义作业时,我可以使用PowerShell插件调用该命令。但是在groovy脚本中没有片段可以使用它。 我也尝试过,但似乎此命令不允许在命令中包含多行和注释。 问题答案: 要从Groovy脚本调用PowerShell脚本,请执行以下操作: 您必须使用命令。 之后,您必须确保正确返回错误代码()变量(应导致

  • 我使用beam SDK用python编写了一个Google数据流管道。有一些文档介绍了我如何在本地运行它,并设置runner标志以在数据流上运行它。 我现在正尝试将其自动部署到CI管道(bitbucket管道,但并不真正相关)。有关于如何“运行”管道的文档,但没有真正的“部署”管道。我测试过的命令如下: 这将运行作业,但因为它正在流式传输,所以永远不会返回。它还在内部管理打包并推送到存储桶。我知道