2015-07-14 13 views
5

Sto cercando di lanciare bin/spark-shell e bin/pyspark dal computer portatile, la connessione a grappolo Filati in modalità yarn-client, ed ottengo lo stesso erroreSpark-shell con 'filo-client' cerca di caricare config dalla posizione sbagliata

WARN ScriptBasedMapping: Exception running 
/etc/hadoop/conf.cloudera.yarn1/topology.py 10.0.240.71 
java.io.IOException: Cannot run program "/etc/hadoop/conf.cloudera.yarn1/topology.py" 
(in directory "/Users/eugenezhulenev/projects/cloudera/spark"): error=2, 
No such file or directory 

Spark sta tentando di eseguire /etc/hadoop/conf.cloudera.yarn1/topology.py sul mio laptop, ma non sul nodo worker in Yarn.

Questo problema è apparso dopo l'aggiornamento da Spark 1.2.0 a 1.3.0 (CDH 5.4.2)

+0

Hai aggiornato le variabili di ambiente? – eliasah

+0

Puoi verificare se esiste la directory /etc/hadoop/conf.cloudera.yarn1? @eliasah quali variabili qualcuno deve aggiornare in questo caso? HADOOP_CONF_DIR e YARN_CONF_DIR? – Zouzias

+0

@Zouzias esiste, e il file è lì, e spark-shell funziona perfettamente quando lo avvio da uno dei nodi CDH in un cluster (tutti hanno il file topology.py). Il problema è solo con l'avvio da laptop –

risposta

2

Le seguenti operazioni è una temporanea work-around per questo problema su CDH 5.4.4

cd ~ 
mkdir -p test-spark/ 
cd test-spark/ 

Quindi copiare tutti i file da /etc/hadoop/conf.clouder.yarn1 da un nodo di lavoro alla directory (locale) di cui sopra. E quindi eseguire spark-shell da ~/test-spark/

1

Il problema è correlato all'infrastruttura in cui i file di conf Hadoop non vengono copiati come file di configurazione di Spark su tutti i nodi. Alcuni dei nodi potrebbero mancare di questi file e se si sta utilizzando quel particolare nodo in cui questi file mancano, si verificherà questo problema.

Quando scintilla avvia cerca i file conf: 1. prima nella stessa posizione in cui si trova HADOOP_CONF 2. Se sopra 1 posizione manca poi guardare la posizione da cui è iniziata la scintilla

Per risolvere questo problema ottenere la cartella mancante e guardare altri nodi e se disponibile su altri nodi, copiare sul nodo dove si vede il problema. Altrimenti puoi semplicemente copiare le cartelle conf di hadoop come filato conf nella stessa posizione per risolvere questo problema.