Apache spark 库伯内特斯身上的火花。库伯内特斯是如何保持国家性的?
我正在K8s集群上试验Spark2.3。想知道检查点是如何工作的吗?它存放在哪里?如果主驱动程序死亡,现有处理会发生什么变化 如果从卡夫卡消费,如何维持补偿?我试图在网上查找,但找不到这些问题的任何答案。我们的应用程序正在消耗大量Kafka数据,因此必须能够重新启动并从停止的位置提取数据 在K8s上运行Spark Streaming有什么问题吗?对检查点一无所知,阿飞。这只是Kubernetes安排Spark驱动程序和运行作业所需的工人的一种方式 存储偏移量实际上取决于您的应用程序以及您希望存储卡夫卡偏移量的位置,因此当它重新启动时,它将拾取该偏移量并从那里开始使用。这是关于如何将其存储在Zookeeper中的 例如,您可以在Scala中编写ZK偏移管理器函数:Apache spark 库伯内特斯身上的火花。库伯内特斯是如何保持国家性的?,apache-spark,kubernetes,spark-streaming,Apache Spark,Kubernetes,Spark Streaming,我正在K8s集群上试验Spark2.3。想知道检查点是如何工作的吗?它存放在哪里?如果主驱动程序死亡,现有处理会发生什么变化 如果从卡夫卡消费,如何维持补偿?我试图在网上查找,但找不到这些问题的任何答案。我们的应用程序正在消耗大量Kafka数据,因此必须能够重新启动并从停止的位置提取数据 在K8s上运行Spark Streaming有什么问题吗?对检查点一无所知,阿飞。这只是Kubernetes安排Spark驱动程序和运行作业所需的工人的一种方式 存储偏移量实际上取决于您的应用程序以及您希望存储
import com.metamx.common.scala.Logging
import org.apache.curator.framework.CuratorFramework
...
object OffsetManager extends Logging {
def getOffsets(client: CuratorFramework,
... = {
}
def setOffsets(client: CuratorFramework,
... = {
}
...
另一种方法是将卡夫卡偏移量存储在可靠的位置,如。谢谢您的评论。所以kubernetes不提供stateful。应用程序有责任处理这些问题。是这样吗?