【问题标题】:Election of new zookeeper leader shuts down the Spark Master新的 Zookeeper 领导者的选举关闭了 Spark Master
【发布时间】:2015-09-08 05:58:52
【问题描述】:

我意识到当我杀死leader zookeeper时master spark没有响应(当然我将leader选举任务分配给了zookeeper)。以下是我在 Master Spark 节点上看到的错误日志。您有什么建议可以解决吗?

15/06/22 10:44:00 INFO ClientCnxn: Unable to read additional data from
> server sessionid 0x14dd82e22f70ef1, likely server has closed socket,
> closing socket connection and attempting reconnect 

15/06/22 10:44:00
> INFO ClientCnxn: Unable to read additional data from server sessionid
> 0x24dc5a319b40090, likely server has closed socket, closing socket
> connection and attempting reconnect 

15/06/22 10:44:01 INFO
> ConnectionStateManager: State change: SUSPENDED 

15/06/22 10:44:01 INFO
> ConnectionStateManager: State change: SUSPENDED 

15/06/22 10:44:01 WARN
> ConnectionStateManager: There are no ConnectionStateListeners
> registered. 

15/06/22 10:44:01 INFO ZooKeeperLeaderElectionAgent: We
> have lost leadership 

15/06/22 10:44:01 ERROR Master: Leadership has
> been revoked -- master shutting down.

【问题讨论】:

  • spark.deploy.recoveryMode, spark.zookeeper.url 的确切配置参数是什么?您是否使用 --supervise 启动?你的集群管理器是什么?

标签: apache-spark apache-zookeeper


【解决方案1】:

这是预期的行为。你必须设置'n'个主人,你需要在所有主人 env.sh 中指定 zookeeper url

SPARK_DAEMON_JAVA_OPTS="-Dspark.deploy.recoveryMode=ZOOKEEPER -Dspark.deploy.zookeeper.url=zk1:2181,zk2:2181"

请注意,zookeeper 维护仲裁。这意味着您需要拥有奇数个 Zookeeper,并且只有在维持法定人数时 Zookeeper 集群才会启动。由于 spark 依赖于 zookeeper,这意味着 spark 集群在 zookeeper quorum 维持之前不会启动。

当你设置了两个(n)主节点并关闭了一个 Zookeeper 时,当前主节点将关闭,新主节点将被选举,所有工作节点都将连接到新主节点。

你应该通过给予来启动你的工人

./start-slave.sh spark://master1:port1,master2:port2

你要等1-2分钟!!注意到这个故障转移。

【讨论】:

  • 有什么配置可以用来重启宕机的master吗?还是每次都要手动启动?
  • master 是自动选出的。它不会下降。
  • 我的意思是重新启动 Spark master,它由于 zookeeper 而宕机
猜你喜欢
  • 1970-01-01
  • 2017-10-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-11-08
  • 2017-06-07
相关资源
最近更新 更多