为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)进行编辑并添加以下内容:

  1. 导出HADOOP_HOME="/usr/local/Cellar/hadoop"然后用你自己的路径替换
  2. export HADOOP_CLASSPATH=$(find $HADOOP_HOME -name '*.jar' | xargs echo | tr ' ' ':')保存更改并重新加载。
  3. 来源~/.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设置的类路径在哪里的主要内容,如果未能解决你的问题,请参考以下文章

hadoop程序可以直接引用java类吗

hadoop运行 jar包的时候,怎么设置

hadoop 怎么设置多个输入路径

在 Eclipse 中哪里可以找到我的 J2EE 应用程序的类路径 [重复]

在 Spark 客户端模式下为执行程序添加额外的类路径

代码片段 PHP,预期文件结尾,我错在哪里?