为hadoop设置的类路径在哪里
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为hadoop设置的类路径在哪里相关的知识,希望对你有一定的参考价值。
hadoop集的类路径在哪里?当我运行下面的命令时,它给了我类路径。类路径设置在哪里?
bin/hadoop classpath
我正在使用hadoop 2.6.0
答案
正如almas shaikh所说,它设置在hadoop-config.sh
,但你可以在hadoop-env.sh
中添加更多的罐子
这是来自hadoop-env.sh
的相关代码,它添加了容量调度程序和aws jar等额外的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/*
另一答案
打开您的bash配置文件(~/.profile
或~/.bash_profile
)进行编辑并添加以下内容:
- 导出
HADOOP_HOME="/usr/local/Cellar/hadoop"
然后用你自己的路径替换 - export
HADOOP_CLASSPATH=$(find $HADOOP_HOME -name '*.jar' | xargs echo | tr ' ' ':')
保存更改并重新加载。 - 来源
~/.profile
另一答案
当你运行hadoop
命令时,它会获取一个驻留在hadoop-config.sh
中的文件$HADOOP_HDFS_HOME/libexec
,它通过选择驻留在各种目录中的jar来设置你的类路径(CLASSPATH)。
$HADOOP_HDFS_HOME/share/hadoop/mapreduce
$HADOOP_HDFS_HOME/share/hadoop/common
$HADOOP_HDFS_HOME/share/hadoop/hdfs etc.
另一答案
根据this blog post,它位于一个名为HADOOP_CLASSPATH
的环境变量中。您可以像设置任何其他环境变量一样设置它,具体取决于您使用的shell。如果你使用bash
,那么你可以像export HADOOP_CLASSPATH=/path/to/wherever:/path/to/wherever/else
一样打电话。
以上是关于为hadoop设置的类路径在哪里的主要内容,如果未能解决你的问题,请参考以下文章