2015-06-22 12 views
11

Ich erkannte, dass der Hauptfunken nicht mehr reagiert, wenn ich den Anführer des Tierpflegers töte (natürlich habe ich dem Zoowärter die Anführerwahlaufgabe zugewiesen). Das folgende ist das Fehlerprotokoll, das ich auf dem Master-Spark-Knoten sehe. Haben Sie Vorschläge, es zu lösen?Wahl des neuen Tierpflegerführers schließt den Funkenmeister

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. 
+0

Wie lauten Ihre genauen Konfigurationsparameter für spark.deploy.recoveryMode, spark.zookeeper.url? Starten Sie mit --supervise? Was ist Ihr Cluster-Manager? – huitseeker

Antwort

3

Dies ist das erwartete Verhalten. Sie müssen einrichten ‚n‘ Anzahl der Master und Sie müssen die Tierpfleger url in allen Master env.sh

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

Hinweis angeben, die zookeeper Quorum unterhält. Dies bedeutet, dass Sie eine ungerade Anzahl an Tierpflegern haben müssen und nur wenn das Quorum eingehalten wird, wird der Tierpfleger-Cluster aktiviert. Da der Funke vom Zoowärter abhängig ist, bedeutet dies, dass der Funke-Cluster erst dann aktiv ist, wenn das Zoowärter-Quorum aufrechterhalten wird.

Wenn Sie zwei (n) Master einrichten und einen Tierpfleger ausschalten, wird der aktuelle Master deaktiviert und der neue Master wird ausgewählt und alle Arbeiterknoten werden an den neuen Master angehängt.

Sie sollten Ihre Arbeiter von

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

Sie für 1-2 Minuten warten müssen, um zu geben haben begonnen !! dieses Failover zu bemerken.

Verwandte Themen