Comme dit par almas shaikh, il est mis en hadoop-config.sh, mais vous pouvez ajouter plus de pots en hadoop-env.sh
En voici un code de hadoop-env.sh qui ajoute des pots comme des capacités de planificateur et d'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/*
Préférez for f in $HADOOP_HOME/share/hadoop/tools/lib/*.jar; do export HADOOP_CLASSPATH=$HADOOP_CLASSPATH:$f done juste export HADOOP_CLASSPATH=$HADOOP_CLASSPATH:share/hadoop/tools/lib/* Quelle est la différence entre la simple exportation avec des caractères génériques et à l'aide de la boucle pour ajouter un par un..?
Lorsque vous exécutez hadoop de commande, les sources d'un fichier hadoop-config.sh qui réside dans $HADOOP_HDFS_HOME/libexec qui définit votre classpath (CLASSPATH) par la cueillette des pots résidant dans différents répertoires viz.
$HADOOP_HDFS_HOME/share/hadoop/mapreduce
$HADOOP_HDFS_HOME/share/hadoop/common
$HADOOP_HDFS_HOME/share/hadoop/hdfs etc.
Dans hadoop 2.6.0 HADOOP_HOME est changé à HADOOP_PREFIX Ouais, soit de l'utiliser ou de l'utilisation de $HADOOP_HDFS_HOME. Quand je lance bin/hdfs dfs -mettre etc/hadoop entrée j'obtiens l'erreur ci-dessous. mis: "entrée": Aucun fichier ou répertoire de Comment puis-je résoudre ce problème? Afin de mettre syntaxe " - mettre <local à l'emplacement du fichier> <hdfs emplacement>, je crois que vous essayez de dire de copier ce fichier dans le répertoire "/entrée" i..e que vous êtes absent "/" répertoire racine?
Comme par ce blog, c'est dans une variable d'environnement nommée HADOOP_CLASSPATH. Vous pouvez le configurer comme vous le feriez de toute autre variable d'environnement, les spécificités de qui dépendent du shell que vous utilisez. Si vous utilisez bash, alors vous pouvez l'appeler comme export HADOOP_CLASSPATH=/path/to/wherever:/path/to/wherever/else.
Comme dit par almas shaikh, il est mis en
hadoop-config.sh
, mais vous pouvez ajouter plus de pots enhadoop-env.sh
En voici un code de
hadoop-env.sh
qui ajoute des pots comme des capacités de planificateur et d'aws jar.for f in $HADOOP_HOME/share/hadoop/tools/lib/*.jar; do export HADOOP_CLASSPATH=$HADOOP_CLASSPATH:$f done
justeexport HADOOP_CLASSPATH=$HADOOP_CLASSPATH:share/hadoop/tools/lib/*
Quelle est la différence entre la simple exportation avec des caractères génériques et à l'aide de la boucle pour ajouter un par un..?
OriginalL'auteur Ashrith
Ouvrir votre bash profile (
~/.profile
ou~/.bash_profile
) pour éditer et ajouter les éléments suivants:HADOOP_HOME="/usr/local/Cellar/hadoop"
puis la Remplacer par votre propre cheminexportation
HADOOP_CLASSPATH=$(find $HADOOP_HOME -name '*.jar' | xargs echo | tr ' ' ':')
Enregistrer les changements et recharger.
source
~/.profile
OriginalL'auteur Siva Krishnan
Lorsque vous exécutez
hadoop
de commande, les sources d'un fichierhadoop-config.sh
qui réside dans$HADOOP_HDFS_HOME/libexec
qui définit votre classpath (CLASSPATH) par la cueillette des pots résidant dans différents répertoires viz.Ouais, soit de l'utiliser ou de l'utilisation de $HADOOP_HDFS_HOME.
Quand je lance bin/hdfs dfs -mettre etc/hadoop entrée j'obtiens l'erreur ci-dessous. mis: "entrée": Aucun fichier ou répertoire de Comment puis-je résoudre ce problème?
Afin de mettre syntaxe " - mettre <local à l'emplacement du fichier> <hdfs emplacement>, je crois que vous essayez de dire de copier ce fichier dans le répertoire "/entrée" i..e que vous êtes absent "/" répertoire racine?
OriginalL'auteur SMA
Comme par ce blog, c'est dans une variable d'environnement nommée
HADOOP_CLASSPATH
. Vous pouvez le configurer comme vous le feriez de toute autre variable d'environnement, les spécificités de qui dépendent du shell que vous utilisez. Si vous utilisezbash
, alors vous pouvez l'appeler commeexport HADOOP_CLASSPATH=/path/to/wherever:/path/to/wherever/else
.hadoop classpath
confirme il fonctionne.OriginalL'auteur Ming