繁体   English   中英

如果某些Kafka节点时间偏移未同步,则Spark流式传输作业会停止

[英]Spark streaming job stuck if some Kafka nodes time offset is not synchronized

我们有一个火花流式传输作业,它从Gnip API读取并将推文发送到Kafka集群。

使用Cloudera Manager安装Kafka群集。

有时,cloudera管理器会为某些Kafka节点显示错误的运行状况消息。 不良健康消息与NTP服务有关。 某些节点突然与NTP服务器不同步。

一旦发生这种情况,Spark流媒体作业就会停滞不前,很多作业都会在没有处理的情况下排队等待很长时间。

为什么Kafka节点与NTP服务器的同步会影响火花流作业中的Kafka生产者?

每个分区都有其Kafka经纪人的领导者和追随者,Kafka通过该分区提供容错能力。 此机制基于ZooKeeper,它使用NTP服务。

如果您使用默认配置,领导者将收到您的数据,并尽量写入关注者。 在将数据写入每个关注者之前,它不会响应成功消息。 所以你的Spark应用程序阻塞。

您还可以更改Kafka配置,以便在领导者接收数据时立即响应,或在领导者将数据写入磁盘时立即响应。

您可以在Kafka文档中找到更多信息

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM