2015-06-10 21 views
8

Sono nuovo a scintillare e cerco di installare la scintilla sul cluster Amazon con la versione 1.3.1. quando faccioCome trovare l'URL master spark su Amazon EMR

SparkConf sparkConfig = new SparkConf().setAppName("SparkSQLTest").setMaster("local[2]"); 

funziona per me, ma sono venuto a sapere che questo è a scopo di test posso impostare locale [2]

quando ho provato ad utilizzare modalità cluster ho cambiato in

SparkConf sparkConfig = new SparkConf().setAppName("SparkSQLTest").setMaster("spark://localhost:7077"); 

con questo sto ottenendo sotto l'errore

cercato di associare a irraggiungibile indirizzo remoto [akka.tcp: // sparkMaster @ localhost: 7077]. L'indirizzo è ora chiuso per 5000 ms, tutti i messaggi a questo indirizzo saranno consegnati a lettere morte. Motivo: Connessione rifiutata 15/06/10 15:22:21 INFO client.AppClient $ ClientActor: Connessione a master akka.tcp: // sparkMaster @ localhost: 7077/user/Master ..

Qualcuno potrebbe per favore lasciare io come impostare l'URL principale.

+0

Si consiglia di non utilizzare EMR. Seguite invece la documentazione ufficiale: http://spark.apache.org/docs/latest/ec2-scripts.html –

risposta

7

Se si sta utilizzando l'azione bootstrap da https://github.com/awslabs/emr-bootstrap-actions/tree/master/spark, la configurazione è configurata per Spark on YARN. Quindi imposta master su yarn-client o yarn-cluster. Assicurati di definire il numero di esecutori con memoria e core. Maggiori informazioni su Spark sul filato a https://spark.apache.org/docs/latest/running-on-yarn.html

aggiunta per quanto riguarda le impostazioni esecutore per la memoria e il nucleo dimensionamento:

Date un'occhiata ai predefinita FILATO configurazioni Node Manager per ogni tipo a http://docs.aws.amazon.com/ElasticMapReduce/latest/DeveloperGuide/TaskConfiguration_H2.html, specificamente yarn.scheduler.maximum-allocation-mb. È possibile determinare il numero di core dall'URL di informazioni di base EC2 (http://aws.amazon.com/ec2/instance-types/). La dimensione massima della memoria dell'esecutore deve rientrare nell'allocazione massima, meno l'overhead di Spark e con incrementi di 256 MB. Una buona descrizione di questo calcolo è http://blog.cloudera.com/blog/2015/03/how-to-tune-your-apache-spark-jobs-part-2/. Non dimenticare che un po 'più della metà della memoria dell'esecutore può essere utilizzata per la cache RDD.

+0

per curiosità volevo sapere la documentazione dice master a spark: // IP: PORT ma quando lo faccio così dà errore me. porta uso 7077 default e IP come localhost – Sam

+0

La documentazione a cui si sta riferendo sta usando Spark in modalità Standalone. Se l'installazione di Spark sta configurando un cluster autonomo, l'IP sarà l'IP del nodo master e probabilmente la porta predefinita. Altrimenti dovrebbe essere tutto ciò che corrisponde alla configurazione del cluster. Elenco di cluster supportati su http://spark.apache.org/docs/latest/cluster-overview.html#cluster-manager-types – ChristopherB

+0

Grazie a @ChristopherB ... Un'altra domanda come hai menzionato per impostare gli esecutori per la memoria e core. Potresti suggerirmi come trovare questi valori con tipi di istanza differenti di Amazon. [collegamento] http://aws.amazon.com/ec2/instance-types/. – Sam