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

如何使Spark驱动对主重启有弹性?

洪照
2023-03-14

也许我对火花大师和司机之间的关系感到困惑。在这样的情况下,主程序是否负责重新连接回驱动程序?如果是,主程序是否将其当前状态序列化到重新启动时可以还原的磁盘某个位置?

共有1个答案

越新霁
2023-03-14

在这样的情况下,主程序是否负责重新连接回驱动程序?如果是,主程序是否将其当前状态序列化到重新启动时可以还原的磁盘某个位置?

主节点和驱动程序之间的关系取决于几个因素。首先,驱动程序是承载sparkcontext/streamingcontext的驱动程序,它负责作业的执行。它创建DAG,并保存DAGSchedulerTaskScheduler,分别分配阶段/任务。主节点可以作为驱动程序的主机,以防您单独使用Spark并在“客户机模式”下运行作业。这样,主程序也承载驱动程序进程,如果它死了,驱动程序也死了。在使用“集群模式”的情况下,驱动程序驻留在一个工作节点上,并与主节点频繁通信,以获得当前正在运行的作业的状态,发回关于已完成批处理状态的元html" target="_blank">数据等。

在独立运行时,如果主程序死亡而您重新启动它,主程序不会重新执行以前运行的作业。为了实现这一点,您可以创建并为集群提供一个额外的主节点,并设置它,以便ZooKeeper可以保存主节点状态,并在失败时在两者之间交换。当您以这种方式设置集群时,主服务器知道它以前执行的作业,并代表您恢复这些作业,新的主服务器已经带头。

 类似资料:
  • 我有一份spark流媒体工作,我正试图由spark-k8运营商提交。我始终保持重启策略。但是,手动删除驱动程序时,驱动程序不会重新启动。我的yaml: Spark版本:2.4.5 apiVersion:“sparkoperator.k8s.io/v1beta2” 我遵循的步骤: 通过kubectl apply-f示例/spark测试创建资源。亚马尔。Pod创建成功。手动删除驱动程序。 预期行为:将

  • 我有3个文件- kafka producer.py,consumer.py和spark-job.py。我不知道如何启动spark file来处理来自kafka的生成数据流。 > < li> 在第一个终端中启动zookeeper服务器: 。\ bin \ windows \ zookeeper-start . bat。\config\zookeeper.properties 然后在第二个单独的终端中

  • 启动Apache Spark集群通常是通过代码库提供的spark-submit shell脚本完成的。但问题是,每次集群关闭并重新启动时,您都需要执行那些shell脚本来启动spark集群。 我也对其他解决方案持开放态度。

  • 我最近在我的5节点集群中安装了DataStax Enterprise(V5.0)。我计划使用3个节点作为spark,2个节点作为cassandra多节点集群。 另外,我应该更改DSE中的哪些conf文件,以便spark连接到在另一个节点上运行的cassandra(而不是在127.0.0.1:9042)

  • 问题内容: 我刚刚开始与Jenkins一起工作,遇到了一个问题。在安装了几个插件之后,它表示需要重新启动并进入“关闭”模式,但是从不重新启动。 如何手动重启? 问题答案: 要手动重新启动Jenkins,可以使用以下任一命令(通过在浏览器中输入其URL): -允许所有正在运行的作业完成。重新启动完成后,新作业将保留在队列中以运行。 -强制重启,而无需等待构建完成。