Richard Rublev
Richard Rublev

Reputation: 8164

How to define HADOOP classpath?

This code is from Hadoop and Spark course.I am running it on VM(HDP-sandbox)

[root@sandbox-hdp Lesson-5.3_hadoop-grep]# javac -classpath /usr/lib/hadoop/hadoop-core.jar -d Grep_classes Grep.java
Grep.java:22: error: package org.apache.hadoop.conf does not exist
import org.apache.hadoop.conf.Configuration;
                             ^
Grep.java:23: error: package org.apache.hadoop.conf does not exist
import org.apache.hadoop.conf.Configured;
                             ^
Grep.java:24: error: package org.apache.hadoop.fs does not exist
import org.apache.hadoop.fs.FileSystem;
                           ^
Grep.java:25: error: package org.apache.hadoop.fs does not exist
import org.apache.hadoop.fs.Path;

I am new to Hadoop,how to define the classpath?

If I try

hadoop classpath

Output

/usr/hdp/3.0.1.0-187/hadoop/conf:/usr/hdp/3.0.1.0-187/hadoop/lib/*:/usr/hdp/3.0.1.0-187/hadoop/.//*:/usr/hdp/3.0.1.0-187/hadoop-hdfs/./:/usr/hdp/3.0.1.0-187/hadoop-hdfs/lib/*:/usr/hdp/3.0.1.0-187/hadoop-hdfs/.//*:/usr/hdp/3.0.1.0-187/hadoop-mapreduce/lib/*:/usr/hdp/3.0.1.0-187/hadoop-mapreduce/.//*:/usr/hdp/3.0.1.0-187/hadoop-yarn/./:/usr/hdp/3.0.1.0-187/hadoop-yarn/lib/*:/usr/hdp/3.0.1.0-187/hadoop-yarn/.//*:/usr/hdp/3.0.1.0-187/tez/*:/usr/hdp/3.0.1.0-187/tez/lib/*:/usr/hdp/3.0.1.0-187/tez/conf:/usr/hdp/3.0.1.0-187/tez/conf_llap:/usr/hdp/3.0.1.0-187/tez/doc:/usr/hdp/3.0.1.0-187/tez/hadoop-shim-0.9.1.3.0.1.0-187.jar:/usr/hdp/3.0.1.0-187/tez/hadoop-shim-2.8-0.9.1.3.0.1.0-187.jar

How to change the javac line?

Upvotes: 0

Views: 5360

Answers (1)

Lovish saini
Lovish saini

Reputation: 117

You can export HADOOP_CLASSPATH in hadoop-env.sh. You can add more jar to HADOOP_CLASSPATH.

Later before running a job run the following commands in shell.

export HADOOP_CLASSPATH=$(hadoop classpath)
echo $HADOOP_CLASSPATH

For reference see this enter image description here

Upvotes: 3

Related Questions