我们正在尝试调试运行在Google Cloud上的一个看似部分停顿的Apache Beam作业。我们的工作从PubSub读取消息,以各种方式对其进行转换,并将结果流式传输到几个BigQuery表。部分工作仍然是活动的-我们的几个表正在更新。但其他部分似乎停滞不前,上一次数据库表更新是在许多小时前(2:35AM)。不幸的是,我们在日志中没有看到有用的异常。我们只有少量用户生成的日志消息,每分钟发出一次,这些消息已经停止,最后一条是在2:35AM。大约一个小时后,Beam增加了每个自动缩放管道的工人数量,大概是为了解决部分管道的积压问题。
没有有用的日志,我唯一的线索就是
>
查看这些workers上的/var/log/dataflow/windmille/将显示一个在凌晨2:36更新的警告和错误日志,其中包含如下消息:
W0811 02:35:43.005868 19 work_service_client.cc:958] flowingestion-gcla-081020-08101355-256d-harness-jmb
5 Unable to update setup work item 5076700766800503996 error: DEADLINE_EXCEEDED: Http(504) Gateway Timeout
E0811 02:36:12.814573 208 work_service_client.cc:689] flowingestion-gcla-081020-08101355-256d-harness-jmb
5 Lost lease for work with id 1911643509568450683
而且
E0811 02:36:12.821274 208 work_service_client.cc:689] flowingestion-gcla-081020-08101355-256d-harness-jmb
5 Lost lease for work with id 8994368075509118540
E0811 02:36:12.821322 208 work_service_client.cc:689] flowingestion-gcla-081020-08101355-256d-harness-jmb
5 Lost lease for work with id 8994368075509118575
有没有人对从这里往哪走有什么建议?
如果谷歌云团队的任何一个人能看一下,我们的作业ID是2017-08-10_13_55_26-6781083469468673800。
我们发现问题出在我们自己的代码上...
我们管道中的一个阶段试图从pubsub解压缩它的输入。出了问题,解压缩陷入了CPU绑定的循环中。
为了确定这一点,我们做了以下工作:
输出显示了一个有趣的线程(在300多个线程中)在我们自己的代码中运行。这就暴露了问题。
我很想知道有没有人有更好的方法来做这件事:-)
我有一个数据流工作,将单个文件分割成x个记录(表)。这些流在bigQuery没有问题。 不过,我发现没有办法在结果出来后执行管道中的另一个阶段。 举个例子 根据上述内容,我希望运行以下内容: 是有无论如何运行管道的另一个部分后,up到bigQuery或这是不可能的?提前感谢。
我已经在kuberenetes中使用散列分片设置了分片的MongoDB集群。我首先创建了配置服务器副本集,然后创建了2个分片副本集。最终创建了mongos来连接分片集群。 我按照下面的链接设置分片MongoDB点击https://docs . MongoDB . com/manual/tutorial/deploy-sharded-cluster-hashed-sharding/ 在创建mongo
我怎样才能停止一个工作在Spring批次?我尝试使用下面的代码来使用这个方法: 我尝试也完成了,失败了,但这个方法不工作,作业继续执行。有解决办法吗?
我们在本地安装了一台新的TFS 2017服务器。我的系统管理员设置了https并生成了自签名证书。使用VisualStudio内置的git工具,一切都可以正常工作。当我尝试从CLI执行任何操作时,会出现以下错误: 我所尝试的: > 经过一些故障排除后,我将本地证书导出为Base-64编码的x.509(.CER)文件,并将其附加到 仔细检查我的git配置以确保http。sslcainfo指向正确的c
我已经在 GCP Kubernetes 上设置了一个 cron 作业。它每天上午10:00运行一次。作业按预期运行,但是,我真的不明白 GCP K8S 控制台上的图表是什么。 如图所示,当cron作业没有运行时,此时大约有1.5个CPU和8G RAM。我希望当前的使用应该为零,因为它没有运行。 谁能看出出了什么问题?还是我看错了图表? 请注意,我在历史中保留了7个作业。每个作业运行了大约15秒并成
问题内容: 好的,我在一个空程序上进行了测试,仅运行一会儿(true){}就使我的CPU占用了50%以上的资源。我正在开发一个游戏,它使用while循环作为主循环,并且CPU始终处于100。 我如何才能让Java重复执行某些操作,而又不消耗超过50%的CPU来执行重复操作呢? 问题答案: 添加睡眠以使线程在一段时间内处于空闲状态: 没有睡眠,while循环将消耗所有可用的计算资源。(例如,理论上,