gpt4 book ai didi

apache-spark - 在Kubernetes上发 Spark 。 Kubernetes如何保持有状态的 Spark 性质?

转载 作者:行者123 更新时间:2023-12-02 11:57:57 25 4
gpt4 key购买 nike

我正在K8s集群上试验Spark2.3。想知道检查点如何工作?它存储在哪里?如果主驱动程序死了,那么现有处理会怎样?

在从卡夫卡消费时,补偿如何保持?我试图在线查找,但找不到这些问题的任何答案。我们的应用程序正在使用大量的Kafka数据,因此必须能够从停止的位置重新启动并重新启动。

在K8s上运行Spark Streaming有任何陷阱吗?

最佳答案

The Kubernetes Spark Controller对检查点AFAIK一无所知。这只是Kubernetes安排您的Spark驱动程序和运行作业所需的Workers的一种方式。

存储偏移量实际上取决于您的应用程序以及存储Kafka偏移量的位置,因此,在重新启动时,它将拾取该偏移量并从那里开始消耗。关于如何将其存储在Zookeeper中的is an example

例如,您可以在Scala中编写ZK偏移管理器功能:

import com.metamx.common.scala.Logging
import org.apache.curator.framework.CuratorFramework
...
object OffsetManager extends Logging {

def getOffsets(client: CuratorFramework,
... = {

}

def setOffsets(client: CuratorFramework,
... = {

}
...

另一种方法是将Kafka偏移量存储在 HDFS等可靠的内容中。

关于apache-spark - 在Kubernetes上发 Spark 。 Kubernetes如何保持有状态的 Spark 性质?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53309614/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com