hadoop的类路径设置在哪里

xqkwcwgp  于 2021-06-04  发布在  Hadoop
关注(0)|答案(4)|浏览(777)

hadoop的类路径在哪里?当我运行下面的命令时,它会给出类路径。类路径设置在哪里?

bin/hadoop classpath

我正在使用hadoop2.6.0

1rhkuytd

1rhkuytd1#

当你跑的时候 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.
jpfvwuh4

jpfvwuh42#

打开你的bash档案( ~/.profile 或者 ~/.bash_profile )用于编辑和添加以下内容:
出口 HADOOP_HOME="/usr/local/Cellar/hadoop" 然后换成你自己的路
出口 HADOOP_CLASSPATH=$(find $HADOOP_HOME -name '*.jar' | xargs echo | tr ' ' ':') 保存更改并重新加载。
来源 ~/.profile

h7appiyu

h7appiyu3#

根据这篇博文,它位于一个名为 HADOOP_CLASSPATH . 您可以像设置任何其他环境变量一样设置它,具体取决于您使用的shell。如果你使用 bash ,然后你可以像 export HADOOP_CLASSPATH=/path/to/wherever:/path/to/wherever/else .

cgvd09ve

cgvd09ve4#

正如阿尔马斯·谢赫所说 hadoop-config.sh ,但您可以在中添加更多jar hadoop-env.sh 以下是来自 hadoop-env.sh 它添加了额外的jar,比如capacity scheduler和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/*

相关问题