web-dev-qa-db-ja.com

hadoopのクラスパスセットはどこにありますか

Hadoopセットのクラスパスはどこにありますか?以下のコマンドを実行すると、クラスパスが表示されます。クラスパスはどこに設定されていますか?

  bin/hadoop classpath

私はhadoop 2.6.0を使用しています

8
Bourne

Bashプロファイル(_~/.profile_または_~/.bash_profile_)を開いて編集し、以下を追加します。

  1. export _HADOOP_HOME="/usr/local/Cellar/hadoop"_ then独自のパスに置き換えます
  2. exportHADOOP_CLASSPATH=$(find $HADOOP_HOME -name '*.jar' | xargs echo | tr ' ' ':')Save変更およびreload

  3. ソース _~/.profile_

5
Siva Krishnan

Almas shaikhが言ったように、hadoop-config.shで設定されていますが、hadoop-env.shでさらにjarを追加できます。

ここに、容量スケジューラとaws jarのような追加のjarを追加するhadoop-env.shからの関連コードがあります。

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/*
5
Ashrith

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.
2
SMA

このブログ投稿 のとおり、HADOOP_CLASSPATHという名前の環境変数にあります。他の環境変数と同じように設定できます。その詳細は、使用するシェルによって異なります。 bashを使用すると、export HADOOP_CLASSPATH=/path/to/wherever:/path/to/wherever/elseのように呼び出すことができます。

0
Ming