2015-02-01 12 views

risposta

4

Come detto da Almas Shaikh è ambientato in hadoop-config.sh, ma si potrebbero aggiungere altri vasi ad essa in hadoop-env.sh

Ecco un codice corrispondente da hadoop-env.sh che aggiunge ulteriori jar come Capacity-Scheduler e Aws jar.

export HADOOP_CONF_DIR=${HADOOP_CONF_DIR:-"/etc/hadoop"} 

# Extra Java CLASSPATH elements. Automatically insert capacity-scheduler. 
for f in $HADOOP_HOME/contrib/capacity-scheduler/*.jar; do 
    if [ "$HADOOP_CLASSPATH" ]; then 
    export HADOOP_CLASSPATH=$HADOOP_CLASSPATH:$f 
    else 
    export HADOOP_CLASSPATH=$f 
    fi 
done 

# ... some other lines omitted 

# Add Aws jar 
export HADOOP_CLASSPATH=$HADOOP_CLASSPATH:share/hadoop/tools/lib/* 
+0

Preferisco 'for f in $ HADOOP_HOME/share/Hadoop/tools/lib/* vaso.; fare export HADOOP_CLASSPATH = $ HADOOP_CLASSPATH: $ f done' solo 'export HADOOP_CLASSPATH = $ HADOOP_CLASSPATH a: share/Hadoop/tools/lib/*' – Zulu

-1

Come per this blog post, è in una variabile di ambiente denominata HADOOP_CLASSPATH. Puoi impostarlo come faresti con qualsiasi altra variabile d'ambiente, le cui specifiche dipendono dalla shell che usi. Se si utilizza bash, è possibile chiamare come export HADOOP_CLASSPATH=/path/to/wherever:/path/to/wherever/else.

0

Quando si esegue hadoop comando, Le fonti di un file che risiede in hadoop-config.sh$HADOOP_HDFS_HOME/libexec che imposta classpath (CLASSPATH) con la scelta di vasi residenti in varie directory vale a dire.

$HADOOP_HDFS_HOME/share/hadoop/mapreduce 
$HADOOP_HDFS_HOME/share/hadoop/common 
$HADOOP_HDFS_HOME/share/hadoop/hdfs etc. 
+1

In Hadoop 2.6.0 HADOOP_HOME viene modificato in HADOOP_PREFIX – Bourne

+1

Sì o utilizzare quello o l'uso $ HADOOP_HDFS_HOME. – SMA

+0

Quando eseguo bin/hdfs dfs -put etc/hadoop input ottengo il seguente errore. metti: 'input ': Nessun file o directory Posso risolvere questo errore? – Bourne

1

Aprire il profilo di bash (~/.profile o ~/.bash_profile) per la modifica e aggiungere il seguente:

  1. esportazioneHADOOP_HOME="/usr/local/Cellar/hadoop"poi Sostituire con il proprio percorso
  2. esportazioneHADOOP_CLASSPATH=$(find $HADOOP_HOME -name '*.jar' | xargs echo | tr ' ' ':') Salva le modifiche e ricarica.

  3. fonte~/.profile

Problemi correlati