0

我想知道 Worker 多久 ping 一次 Master 以检查 Master 的活跃度?或者是主人(资源经理)对工人进行检查以检查他们的活跃度以及是否有任何工人已经死去产卵?还是两者兼而有之?

一些信息:独立集群 1 主 - 8 核 12 Gb 32 工作人员 - 每个 8 核和 8 Gb

我的主要问题 - 这是发生的事情:

Master M - 与 32 个工人一起运行 工人 1 和 2 在 03:55:00 死亡 - 所以现在集群是 30 个工人

工人 1' 在凌晨 03:55:12.000 出现 - 它连接到 M 工人 2' 在凌晨 03:55:16.000 出现 - 它连接到 M

Master M 在 03:56.00 AM 死亡 新的 master NM' 在 03:56:30 AM 出现 Worker 1' 和 2' - 不要连接到 NM 剩余的 30 个 worker 连接到 NM。

所以 NM 现在有 30 名工人。

我想知道为什么即使主 M 肯定死了,这两个也不会连接到新的主 NM。

PS:我为 Master 设置了 LB,这意味着每当有新的 master 进入时,LB 都会开始指向新的 master。

4

1 回答 1

1

负载均衡器不会在这里解决您的问题。为了让 Spark 工作人员识别新的主服务器,您必须在高可用性模式下配置 Spark。Spark Standalone 支持两种 HA 配置:

  • 带有 ZooKeeper 的备用主机。
  • 使用文件系统恢复节点。

后一种解决方案要简单得多,但需要一个可靠的分布式文件系统来存储spark.deploy.recoveryDirectory,当然,除非您在同一节点上恢复 master。

可以使用spark.deploy.recoveryMode属性(NONE 默认情况下)配置恢复模式,该属性应分别设置为ZOOKEEPERFILESYSTEM用于备用和节点恢复。

可以在高可用性文档中找到更多详细信息。

相关:Spark master 失败时会发生什么?

于 2017-04-06T04:04:10.127 回答