web-dev-qa-db-fra.com

Où est le chemin de classe pour hadoop

Où est le classpath pour hadoop set? Lorsque je lance la commande ci-dessous, il me donne le classpath. Où est le classpath défini?

  bin/hadoop classpath

J'utilise hadoop 2.6.0

6
Bourne

Comme l'a dit Almas Shaikh, il est défini dans hadoop-config.sh, mais vous pouvez ajouter d'autres bocaux dans hadoop-env.sh

Voici un code pertinent de hadoop-env.sh qui ajoute des fichiers jar supplémentaires, tels que l'ordonnanceur de capacité et l'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/*
4
Ashrith

Ouvrez votre profil bash (~/.profile ou ~/.bash_profile) pour le modifier et ajoutez ce qui suit:

  1. export HADOOP_HOME="/usr/local/Cellar/hadoop" then Remplacez-le par votre propre chemin
  2. export HADOOP_CLASSPATH=$(find $HADOOP_HOME -name '*.jar' | xargs echo | tr ' ' ':') Save les modifications et reload .

  3. source ~/.profile

3
Siva Krishnan

Lorsque vous exécutez la commande hadoop, elle crée un fichier hadoop-config.sh qui réside dans $HADOOP_HDFS_HOME/libexec qui définit votre chemin de classe (CLASSPATH) en sélectionnant les fichiers JAR résidant dans différents répertoires, à savoir. 

$HADOOP_HDFS_HOME/share/hadoop/mapreduce 
$HADOOP_HDFS_HOME/share/hadoop/common
$HADOOP_HDFS_HOME/share/hadoop/hdfs etc.
2
SMA

Selon cet article de blog , il se trouve dans une variable d'environnement nommée HADOOP_CLASSPATH. Vous pouvez le définir comme n'importe quelle autre variable d'environnement, dont les spécificités dépendent du shell que vous utilisez. Si vous utilisez bash, vous pouvez appeler comme export HADOOP_CLASSPATH=/path/to/wherever:/path/to/wherever/else.

0
Ming