mio Apache è in esecuzione un'applicazione che mi sta dando un sacco di timeout Esecutore:Spark gruppo pieno di timeout battito cardiaco, esecutori di uscire da soli
10:23:30,761 ERROR ~ Lost executor 5 on slave2.cluster: Executor heartbeat timed out after 177005 ms
10:23:30,806 ERROR ~ Lost executor 1 on slave4.cluster: Executor heartbeat timed out after 176991 ms
10:23:30,812 ERROR ~ Lost executor 4 on slave6.cluster: Executor heartbeat timed out after 176981 ms
10:23:30,816 ERROR ~ Lost executor 6 on slave3.cluster: Executor heartbeat timed out after 176984 ms
10:23:30,820 ERROR ~ Lost executor 0 on slave5.cluster: Executor heartbeat timed out after 177004 ms
10:23:30,835 ERROR ~ Lost executor 3 on slave7.cluster: Executor heartbeat timed out after 176982 ms
Tuttavia, nella mia configurazione Posso confermare ho aumentato con successo l'intervallo di esecutore battito cardiaco:
quando visito i log di esecutori contrassegnate come EXITED
(vale a dire: il conducente li ha rimossi quando non ha potuto ottenere un battito cardiaco), sembra che gli esecutori stessi uccisi perché non hanno ricevuto qualsiasi attività dal driver:
16/05/16 10:11:26 ERROR TransportChannelHandler: Connection to /10.0.0.4:35328 has been quiet for 120000 ms while there are outstanding requests. Assuming connection is dead; please adjust spark.network.timeout if this is wrong.
16/05/16 10:11:26 ERROR CoarseGrainedExecutorBackend: Cannot register with driver: spark://[email protected]:35328
Come posso spegnere battiti cardiaci e/o prevenire gli esecutori di timeout?
Gli heartbeat consentono al driver di sapere che l'esecutore è ancora attivo e lo aggiorna con le metriche per le attività in corso. spark.executor.heartbeatInterval dovrebbe essere significativamente inferiore a spark.network.timeout - http://spark.apache.org/docs/latest/configuration.html – evgenii
questo non ha funzionato per me, ho dovuto usare - conf spark.network.timeout = 10000000 – nEO